Пожалуйста, взгляните на следующий фрагмент кода. Я просто открываю файл Excel myfile.xlsx
и добавляю строки из объекта типа List<Account>
(где мой объект Account
имеет только свойства Date
, Account
и Amount
) и сохраняю файл с именем myoutputfile.xlsx
. Я хотел бы, чтобы ячейки, в которых я пишу даты, имели формат даты, а ячейки, в которых у меня есть суммы, имели числовой формат. Однако, если я попробую код ниже, все ячейки будут отформатированы в формате #.00
(даты также). Я пробовал все, может кто-нибудь, пожалуйста, скажите мне, что происходит? Я использую 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();
}
dd/MM/yyyy
. - person Gabriel Negut   schedule 28.10.2016