Редактировать существующий файл Excel C # npoi
Я хочу с помощью консольного приложения C # открыть существующий файл Excel и добавить в него содержимое. НКОИ 2.1.1.0
Мой первый подход состоял в том, чтобы просто добавить значение к последней фигуре ячейки, которую я решил, что это решит мою другую проблему.
Это правильно прочитает файл с новым содержимым, но не сохранит его.
Выход:
Msgstr "Невозможно получить доступ к закрытому файлу."
HSSFWorkbook hssfwb;
using (FileStream file = new FileStream(@"c:\testfile.xls", FileMode.Open, FileAccess.ReadWrite))
{
hssfwb = new HSSFWorkbook(file);
ISheet sheet = hssfwb.GetSheetAt(0);
IRow row = sheet.GetRow(0);
sheet.CreateRow(row.LastCellNum);
ICell cell = row.CreateCell(row.LastCellNum);
cell.SetCellValue("test");
for (int i = 0; i < row.LastCellNum; i++)
{
Console.WriteLine(row.GetCell(i));
}
hssfwb.Write(file);
file.Close();
}
Я попытался добавить следующее, но это привело к пустому файлу, который не открывается.
MemoryStream mstream = new MemoryStream();
hssfwb.Write(mstream);
byte[] bytes = new byte[mstream.Length];
mstream.Read(bytes, 0, (int)mstream.Length);
file.Write(bytes, 0, bytes.Length);
file.Close();
mstream.Close();
Я также попытался поместить hssfwb один в область применения, изменил режим файла на Append / openorcreate / truncate, добавил проверку записи без какого-либо результата.
Однако одним из решений было бы прочитать файл, преобразовать его в таблицу данных, создать новый файл Excel и заполнить его данными.
Что я делаю неправильно? Может кто-нибудь пролить некоторый свет на это? Я посмотрел на пакет Npoi Example напрасно.