標籤:
項目需求: 1、把資料匯出到Excel; 2、把Excel資料匯入到資料庫
使用的類庫: Aspose.Cells ExcelHelper.zip下載
一、匯出【調用已經封裝好的方法】【未封裝的方法,步驟有主要有兩個,a. 添加表頭 b. 添加資料部分】
- 開啟一個文本儲存對話方塊【SaveFileDialog控制項】
- 調用ExcelHelper類的DataTableToExcel方法匯出
/// <summary> /// 匯出Excel /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnExeclOutput_Click(object sender, EventArgs e) { string localFilePath = String.Empty; SaveFileDialog saveFileDialog1 = new SaveFileDialog(); //設定檔案類型 saveFileDialog1.Filter = " xls files(*.xls)|*.txt|All files(*.*)|*.*"; //設定檔案名稱: saveFileDialog1.FileName = DateTime.Now.ToString("yyyyMMddHHmm") + "-" + "員工管理表.xls"; //儲存對話方塊是否記憶上次開啟的目錄 saveFileDialog1.RestoreDirectory = true; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { //獲得檔案路徑 localFilePath = saveFileDialog1.FileName.ToString(); DataTable dt = (DataTable)dgvTb.DataSource; bool flag = new Common.ExcelHelper(localFilePath,"").DatatableToExcel(dt); if (flag) { MessageBox.Show("匯出成功!,匯出資料條數: "+dt.Rows.Count +" 條"); } else { MessageBox.Show("匯出失敗!"); } } }
二、匯入: 【匯入返回一個DataTable】
- 開啟一個Excel,只要傳入Excel檔案的路徑
- 設定從第二行的資料開始擷取【不擷取表頭】
/// <summary>/// 匯入/// </summary>/// <returns></returns>public DataTable ExcelToDatatalbe(){ //開啟Excel Workbook book = new Workbook(fullFilename); Worksheet sheet = book.Worksheets[0]; Cells cells = sheet.Cells; //擷取excel中的資料儲存到一個datatable中 DataTable dt_Import = cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, true); return dt_Import;}
項目執行:
匯入Excel:
【C#】#101 匯入匯出Excel