如何将多个数据集导出到excel工作表

本文关键字:excel 工作 数据集 | 更新日期: 2023-09-27 18:03:16

大家好,我想把数据从dataset导出到excel。我的dataset由2 Tables组成,所以我如何在单个excel工作表中编写多个数据集值

如何将多个数据集导出到excel工作表

在创建
之前1.using Excel = Microsoft.Office.Interop.Excel;//in header,并添加正确的引用
2. excel。应用excelHandle1 = prepareforeexport (Ds);//在调用函数时添加句柄excelHandle1。

 public Excel.Application PrepareForExport(System.Data.DataSet ds,string[] sheet)
    {
            object missing = System.Reflection.Missing.Value;
            Excel.Application excel = new Excel.Application();
            Excel.Workbook workbook = excel.Workbooks.Add(missing);
            DataTable dt1 = new DataTable();
            dt1 = ds.Tables[0];
            DataTable dt2 = new DataTable();
            dt2 = ds.Tables[1];

            Excel.Worksheet newWorksheet;
            newWorksheet = (Excel.Worksheet)excel.Worksheets.Add(missing, missing, missing, missing);
            newWorksheet.Name ="Name of data sheet";
//  for first datatable dt1..
            int iCol1 = 0;
            foreach (DataColumn c in dt1.Columns)
            {
                iCol1++;
                excel.Cells[1, iCol1] = c.ColumnName;
            }
            int iRow1 = 0;
            foreach (DataRow r in dt1.Rows)
            {
                iRow1++;
                for (int i = 1; i < dt1.Columns.Count + 1; i++)
                {
                    if (iRow1 == 1)
                    {
                        // Add the header the first time through 
                        excel.Cells[iRow1, i] = dt1.Columns[i - 1].ColumnName;
                    }
                    excel.Cells[iRow1 + 1, i] = r[i - 1].ToString();
                }
            }
   //  for  second datatable dt2..
            int iCol2 = 0;
            foreach (DataColumn c in dt2.Columns)
            {
                iCol2++;
                excel.Cells[1, iCol] = c.ColumnName;
            }

            int iRow2 = 0;
            foreach (DataRow r in dt2.Rows)
            {
                iRow2++;
                for (int i = 1; i < dt2.Columns.Count + 1; i++)
                {
                    if (iRow2 == 1)
                    {
                        // Add the header the first time through 
                        excel.Cells[iRow2, i] = dt2.Columns[i - 1].ColumnName;
                    }
                    excel.Cells[iRow2 + 1, i] = r[i - 1].ToString();
                }
            }


        return excel;
    }

我正在使用这个代码

您可以在每个工作表中写入一个表值,而不是单个Excel工作表,

http://csharp.net-informations.com/excel/csharp-excel-export.htm

增加可以在单个excel文件中保存多个数据集值的工作表计数。

希望对你有帮助。