c# - 如何使用循环将数据插入Excel工作表
问题描述
我正在尝试将一些数据插入到我的 Excel 工作表中。
我的主要代码返回真/假语句,我需要将该语句保存到我的 Registers.xls 文件中。
我如何从同一个excel中读取和写入数据。(抱歉英语不好)
static void Main(string[] args)
{
Excel.Application xlApp;
Excel.Workbook xlWorkbook;
Excel.Worksheet xlWorksheet;
Excel.Range range;
xlApp = new Excel.Application();
xlWorkbook = xlApp.Workbooks.Open(@"E:\VScode\Registers.xls");
xlWorksheet = (Excel.Worksheet)xlWorkbook.Worksheets.get_Item(1);
range = xlWorksheet.UsedRange;
int cl = range.Rows.Count;
string result;
string strRegist;
for (int i = 1; i <= cl;i++)
{
strRegist = (string)(range.Cells[i,3] as Excel.Range).Value2;
result = Convert.ToString(Program.CheckRegister(strRegist));
//Insert result to my sheet
Console.WriteLine(result);
}
xlWorkbook.Close(true, null, null);
xlApp.Quit();
Marshal.ReleaseComObject(xlWorksheet);
Marshal.ReleaseComObject(xlWorkbook);
Marshal.ReleaseComObject(xlApp);
Console.WriteLine();
Console.ReadLine();
}
解决方案
您可以将数据添加到数据表中,然后将其转换为 excelsheet 并将该表添加到所需的 w/e 工作簿中。
using OfficeOpenXml;
using System.Data;
using System.IO;
void SaveTableAsExcelSheet(DataTable dt, string filePath)
{
var fi = new FileInfo(filePath);
using (ExcelPackage pck = new ExcelPackage(fi))
{
ExcelWorksheet ws = pck.Workbook.Worksheets.Add(dt.TableName);
ws.Cells["A1"].LoadFromDataTable(dt, true);
pck.Save();
}
}
推荐阅读
- android - 我的 Android Studio 偏好没有 maven repo
- macos - macOS 上 Rust 程序的类 DTrace 函数追踪
- oracle - 如何将 select 语句的结果插入记录表(关联数组)
- php - 有没有办法以他在 laravel 的最后价格获得产品
- java - Thread.start() 方法锁定了哪个对象?
- c - 如何使用 libnl 将我的设备连接到 wifi?
- javascript - 我可以在渲染函数中使用样式化组件 css`` 方法吗?
- angular - 共享同一个组件
- arrays - 无法从数组中删除不需要的项目
- java - 如何在接口中使用 getResources.getString(R.string)?