C#導出Excel的主要方法如下:
代碼:
public void CellToCell(DataSet ds)
{
#region 實例化所需對象
// 實例化一個Excel文檔對象
Microsoft.Office.Interop.Excel.Application exapp = new Microsoft.Office.Interop.Excel.Application();
// 設置可見
// 如果為false的話,會造成看不到Excel文檔的情況
exapp.Visible = true;
// 設置工作簿格式
Microsoft.Office.Interop.Excel.Workbook myworkbook = exapp.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
// 實例化工作表集
Microsoft.Office.Interop.Excel.Sheets mysheets = myworkbook.Worksheets;
// 實例化工作表
Microsoft.Office.Interop.Excel.Worksheet mysheet = (Microsoft.Office.Interop.Excel.Worksheet)mysheets.get_Item(1);
#endregion
#region 具體操作
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
{
Console.Write("\t{0}\t|", j);
mysheet.Cells[i+1, j+1] = ds.Tables[0].Rows[i][j].ToString();
}
Console.WriteLine();
}
#endregion
MessageBox.Show("導出完畢,請不要忘記保存導出成功的文件!");
exapp.Caption = "Excel Demo 測試文件";
}
注意:
1. 引用的DLL版本與客戶機安裝的Office版本的匹配
2. 「異常來自 HRESULT:0x800A03EC」這個可能是由於單元格索引的問題所引起的,Excel第一個單元格是1,1 而不是0,0
源碼下載:http://www.teamhost.org/projects/csdemo
摘自 峻之嶺峰