gpt4 book ai didi

c# - 在 C# 中使用 EPPlus 更新 Excelsheet

转载 作者:太空宇宙 更新时间:2023-11-03 17:24:00 25 4
gpt4 key购买 nike

我有一个 excel 文件,其中包含名为 Data 的工作表。此工作表已包含少量数据。我需要打开这个文件并在其中添加更多数据。我试过搜索这个,但每个人都只是在他们的工作簿中创建新工作表。我需要更新当前工作表。下面是我的代码:

MemoryStream ms = new MemoryStream();
using (FileStream fs = File.OpenRead(@"Path\File.xlsx")
using (ExcelPackage excelPackage = new ExcelPackage(fs))
{
ExcelWorkbook excelWorkBook = excelPackage.Workbook;
ExcelWorksheet excelWorksheet = excelWorkBook.Worksheets.First();
excelWorksheet.Cells[1, 1].Value = "Test";
excelWorksheet.Cells[3, 2].Value = "Test2";
excelWorksheet.Cells[3, 3].Value = "Test3";

excelPackage.SaveAs(ms);
}

但它没有更新工作表。我没有做错什么。谁能帮帮我。谢谢

最佳答案

你正在这样做:

  1. 在内存中创建一个MemoryStream对象来存储二进制数据。
  2. 打开文件并将其读入MemoryStream 对象。
  3. 根据 MemoryStream 对象中的数据创建一个 ExcelPackage 对象。
  4. 更改电子表格。
  5. 将更改保存回 MemoryStream 对象。

这就是电子表格文件未更新的原因。

使用FileInfo,直接用ExcelPackage打开文件:

// using System.IO;

FileInfo file = new FileInfo(@"Path\File.xlsx");
using (ExcelPackage excelPackage = new ExcelPackage(file))
{
ExcelWorkbook excelWorkBook = excelPackage.Workbook;
ExcelWorksheet excelWorksheet = excelWorkBook.Worksheets.First();
excelWorksheet.Cells[1, 1].Value = "Test";
excelWorksheet.Cells[3, 2].Value = "Test2";
excelWorksheet.Cells[3, 3].Value = "Test3";

excelPackage.Save();
}

关于c# - 在 C# 中使用 EPPlus 更新 Excelsheet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42479613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com