【问题标题】:How to insert data to excel sheet using loop如何使用循环将数据插入Excel工作表
【发布时间】:2019-01-10 18:13:45
【问题描述】:

我正在尝试将一些数据插入到我的 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();
        }

【问题讨论】:

  • 如果您尝试插入现有工作表,这可能会有所帮助。 link

标签: c# excel


【解决方案1】:

您可以将数据添加到数据表中,然后将其转换为 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();
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    相关资源
    最近更新 更多