Dataset 导出到excel 多sheet
引用 Office.Interop.dll,具体的自己百度
如果发布到服务器,需要在服务器安装Excel等…
public void show(DataSet ds)
{
Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook ExcelWorkBook = null;
Microsoft.Office.Interop.Excel.Worksheet ExcelWorkSheet = null;
ExcelWorkBook = ExcelApp.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
for (int i = 1; i < ds.Tables.Count; i++)
{
ExcelWorkBook.Worksheets.Add();
}
for (int i = 0; i <= ds.Tables.Count; i++)
{
int r = 1; // 初始化excel的第一行
if (i < ds.Tables.Count)
{
ExcelWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkBook.Worksheets[i + 1];//填充sheet页
}
if (i<= ds.Tables.Count-1)
{
for (int row = 0; row < ds.Tables[i].Rows.Count; row++) //把每一行写进excel的sheet中 r是excelRow,col是excelColumn
{
for (int col = 1; col <= ds.Tables[i].Columns.Count; col++)//Excel的行和列开始位置写Row=1 ,Col=1
ExcelWorkSheet.Cells[r, col] = ds.Tables[i].Rows[row][col - 1].ToString();
r++;
}
}
ExcelApp.Visible = true;
}
}