請看下面的代碼片段。我只需打開Excel文件myfile.xlsx
,然後添加List<Account>
類型的對象(其中我的Account
對象只具有Date
,Account
和Amount
屬性),並將名稱爲myoutputfile.xlsx
的文件存儲起來。我希望我寫日期的單元格具有日期格式,而我所擁有的單元格具有數字格式。但是,如果我嘗試下面的代碼,所有單元格格式化爲#.00
格式(日期也是如此)。我試過了一切,有人可以告訴我發生了什麼事嗎?我正在使用NPOI。NPOI以相同的方式格式化所有單元格
XSSFWorkbook wb;
var fileName = "C:/tmp/myfile.xlsx";
var outputFileName = "C:/tmp/myoutputfile.xlsx";
using (var file = new FileStream(fileName, FileMode.Open, FileAccess.ReadWrite))
{
wb = new XSSFWorkbook(file);
}
XSSFSheet sheet = (XSSFSheet) wb.GetSheetAt(0);
for (int i = 0; i < accountRecs.Count(); ++i) {
var rec = accountRecs[i];
var row = sheet.CreateRow(i);
var dateCell = row.CreateCell(3);
dateCell.SetCellValue(rec.Date);
dateCell.CellStyle.DataFormat = wb.CreateDataFormat().GetFormat("dd/MM/yyyy");
var accountCell = row.CreateCell(4);
accountCell.SetCellValue(rec.Account);
var totalValueCell = row.CreateCell(16);
totalValueCell.SetCellValue(rec.Amount);
totalValueCell.CellStyle.DataFormat = wb.CreateDataFormat().GetFormat("#.00");
}
using (var file = new FileStream(outputFileName, FileMode.Create, FileAccess.Write))
{
wb.Write(file);
file.Close();
}
可能與http://stackoverflow.com/a/3603750/619252。嘗試使用「dd/MM/yyyy」的內置格式。 –