C# Excel表的导入导出.doc_第1页
C# Excel表的导入导出.doc_第2页
C# Excel表的导入导出.doc_第3页
C# Excel表的导入导出.doc_第4页
C# Excel表的导入导出.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

首先,我们先说下Excel的导入:Excel导入分为3个步骤,1、获取.xls文件的路径(即选择目标文件)2、选择sheet,每个excel都可以有多个sheet,我们获取第一个sheet名称并读取其中的内容。3、读取Excel表中的数据,在以下例子中,我把Excel中的表存为DataSet对象。代码:前提条件:(引用Microsoft.Office.Interop.Excel)1、选择Excel目录public static string GetExcelPath() using (OpenFileDialog dlgFile = new OpenFileDialog() dlgFile.CheckFileExists = false; dlgFile.Filter = Excel files|*.xls|All files|*.*; if (dlgFile.ShowDialog() = DialogResult.OK) return dlgFile.FileName; return string.Empty; 2、获取第一个Sheet名称public string GetExcelFirstTableName(string excelFileName) string tableName = null; if (File.Exists(excelFileName) using (OleDbConnection conn = new OleDbConnection(Provider=Microsoft.Jet. + OLEDB.4.0;Extended Properties=Excel 8.0;Data Source= + excelFileName) try conn.Open(); DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); tableName = dt.Rows02.ToString().Trim(); catch MessageBox.Show(请先关闭Excel!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Warning); return tableName; 3、读取.xls表的内容并存为DataSetpublic static DataSet ReadExcel(string Path, string Sheet) string connStr = Provider=Microsoft.Jet.OLEDB.4.0; + Extended Properties=Excel 8.0; + data source= + Path; DataSet dt = new DataSet(); try OleDbDataAdapter dr = new OleDbDataAdapter(select * from + Sheet + , connStr); dr.Fill(dt); catch (Exception e) e.ToString(); return dt; 以上为导入,接着是导出 导出分为2步,1、新建Excel工作表2、导出Excel表(分2步是为了方便选择导出内容,在第二步可选择所有导出或选择导出) 代码:前提条件:(引用Microsoft.Office.Interop.Excel)1、新建Excel工作表public static Microsoft.Office.Interop.Excel.Application NewExcel(string head) Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();/新的excel文档 excel.Application.Workbooks.Add(true); /新的工作表 excel.Visible = true; excel.Cells1, 1 = head; return excel; 2、导出Excel表完全导出 public static void ExportExcel(Microsoft.Office.Interop.Excel._Application excel,DataGridView dgv) try for (int i = 0; i dgv.ColumnCount; i+) /写入DataGridView列标题到Excel表 excel.Cells2, i + 1 = dgv.Columnsi.HeaderText.ToString().Trim(); for (int row = 0; row dgv.RowCount; row+) /写入DataGridView各行内容到Excel表 for (int col = 0; col dgv.ColumnCount; col+) excel.Cellsrow + 3, col + 1 = dgv.Rowsrow.Cellscol.Value.ToString().Trim(); catch (Exception e) e.ToString(); 选择行和列导出 public static void ExportExcel(Microsoft.Office.Interop.Excel._Application excel, DataGridView dgv,int startcolnum,int endcolnum,int startrownum,int endrownum) if (endcolnum startcolnum) MessageBox.Show(结束列不能小于起始列, 错误, MessageBoxButtons.OK, MessageBoxIcon.Error); else for (int i = 0; i endcolnum - startcolnum + 1; i+) /写入DataGridView列标题到Excel表 excel.Cells2, i + 1 = dgv.Columnsi + startcolnum-1.HeaderText.ToString().Trim(); if (endrownum startrownum) MessageBox.Show(结束行不能小于起始行,错误,MessageBoxButtons.OK,MessageBoxIcon.Error); else for (int row = 0; row endrownum - startrownum+1; row+) /写入DataGridView各行内容到Excel表 for (int col = 0; c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论