我正在创建一个Excel,当我编写一些值示例1-19时,当我打开Excel文档时,我看到1-19,但是如果我单击它,那么Excel会尝试将其格式化为日期
有没有办法强制工作表不使用任何公式或格式?
我查了一下,数据格式是字符串。
private void Test1(ref ISheet worksheet, string[] array, IWorkbook workbook, int iRow, XSSFFont font2)
{
var format = HSSFDataFormat.GetBuiltinFormats();
ICellStyle _TextCellStyle = workbook.CreateCellStyle();
_TextCellStyle.DataFormat = workbook.CreateDataFormat().GetFormat("@");
IRow file = worksheet.CreateRow(iRow);
int iCol = 0;
for (int y = 0; y < array.Length; y++)
{
ICellStyle style = workbook.CreateCellStyle();
style.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Grey25Percent.Index;
//style.DataFormat = HSSFDataFormat.
ICell cell = file.CreateCell(iCol, CellType.String);
cell.SetCellValue(array[y]);
style.SetFont(font2);
// cell.CellStyle = style;
var getst = cell.CellType;
cell.CellStyle = _TextCellStyle;
iCol++;
getst = cell.CellType;
}
}
即使您按照文档使用正确的格式字符串“@”,您的数据仍保持“常规”格式。有些时间库方法在 NPOI 中不起作用,因此您必须尝试不同的方法。
您可以尝试其中之一
_TextCellStyle.DataFormat = workbook.CreateDataFormat().GetFormat("text"); //Instead of "@"
或者在将数据写入 Excel 文件时为数据添加单引号,例如'1-19
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)