c#读取excel文件的几种方法.doc

上传人:小** 文档编号:93317487 上传时间:2019-07-19 格式:DOC 页数:10 大小:21.52KB
返回 下载 相关 举报
c#读取excel文件的几种方法.doc_第1页
第1页 / 共10页
c#读取excel文件的几种方法.doc_第2页
第2页 / 共10页
c#读取excel文件的几种方法.doc_第3页
第3页 / 共10页
c#读取excel文件的几种方法.doc_第4页
第4页 / 共10页
c#读取excel文件的几种方法.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《c#读取excel文件的几种方法.doc》由会员分享,可在线阅读,更多相关《c#读取excel文件的几种方法.doc(10页珍藏版)》请在金锄头文库上搜索。

1、C# 读取EXCEL文件的几种经典方法例子引入(读取时excel要打开)namespace 读取excel测试 public partial class Form1 : Form public Form1() InitializeComponent(); /读取 private void simpleButton1_Click(object sender, EventArgs e) bindingSource1.DataSource = null; OpenFileDialog fd = new OpenFileDialog(); fd.Filter = 电子表格|*.xlsx|电子表格|*.

2、xls|所有文件|*.*; /打开对话框 if (fd.ShowDialog() = DialogResult.OK) /得到文件路径名称 this.txtPath.Text = fd.FileName; /将excel的对象放到bindingSource1中预览 DataTable dt = returndb(this.txtPath.Text).Tables0; bindingSource1.DataSource = dt; gridView1.BestFitColumns(); /读取方法 public DataSet returndb(string path) string strCo

3、nn = Provider=Microsoft.Jet.OLEDB.4.0; + Data Source= + path + ; + Extended Properties=Excel 8.0; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); string strExcel = ; OleDbDataAdapter myCommand = null; DataSet ds = null; strExcel = select * from sheet1$; myCommand = new OleDbDataAda

4、pter(strExcel, strConn); ds = new DataSet(); myCommand.Fill(ds, table1); return ds; /另一种写法 /FileInfo fileInfo = new FileInfo(path); /if (!fileInfo.Exists) return null; /string strConn = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + path + ;Extended Properties=Excel 8.0;HDR=NO;IMEX=1; /OleDbConnect

5、ion objConn = new OleDbConnection(strConn); /DataSet dsExcel = new DataSet(); /try / / objConn.Open(); / DataTable table = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null); / string tableName = table.Rows0Table_Name.ToString(); / string strSql = select * from + tableName +

6、 ; / OleDbDataAdapter odbcExcelDataAdapter = new OleDbDataAdapter(strSql, objConn); / odbcExcelDataAdapter.Fill(dsExcel); / return dsExcel; / /catch (Exception ex) / / throw ex; / 1.方法一:采用OleDB读取EXCEL文件:把EXCEL文件当做一个数据源来进行数据的读取操作,实例如下: public DataSet ExcelToDS(string Path) string strConn = Provider=M

7、icrosoft.Jet.OLEDB.4.0; +Data Source=+ Path +;+Extended Properties=Excel 8.0; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); string strExcel = ; OleDbDataAdapter myCommand = null; DataSet ds = null; strExcel=select * from sheet1$; myCommand = new OleDbDataAdapter(strExcel, strConn

8、); ds = new DataSet(); myCommand.Fill(ds,table1); return ds; 对于EXCEL中的表即sheet(sheet1$)如果不是固定的可以使用下面的方法得到 string strConn = Provider=Microsoft.Jet.OLEDB.4.0; +Data Source=+ Path +;+Extended Properties=Excel 8.0; OleDbConnection conn = new OleDbConnection(strConn); DataTable schemaTable = objConn.GetOl

9、eDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,null); string tableName=schemaTable.Rows02.ToString().Trim(); 另外:也可进行写入EXCEL文件,实例如下: public void DSToExcel(string Path,DataSet oldds) /先得到汇总EXCEL的DataSet 主要目的是获得EXCEL在DataSet中的结构 string strCon = Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source

10、=+path1+;Extended Properties=Excel 8.0 ; OleDbConnection myConn = new OleDbConnection(strCon) ; string strCom=select * from Sheet1$; myConn.Open ( ) ; OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom, myConn ) ; ystem.Data.OleDb.OleDbCommandBuilder builder=new OleDbCommandBuilder(myCommand

11、); /QuotePrefix和QuoteSuffix主要是对builder生成InsertComment命令时使用。 builder.QuotePrefix=; /获取insert语句中保留字符(起始位置) builder.QuoteSuffix=; /获取insert语句中保留字符(结束位置) DataSet newds=new DataSet(); myCommand.Fill(newds ,Table1) ; for(int i=0;ioldds.Tables0.Rows.Count;i+) /在这里不能使用ImportRow方法将一行导入到news中,因为ImportRow将保留原来

12、DataRow的所有设置(DataRowState状态不变)。 在使用ImportRow后newds内有值,但不能更新到Excel中因为所有导入行的DataRowState!=Added DataRow nrow=aDataSet.TablesTable1.NewRow(); for(int j=0;jnewds.Tables0.Columns.Count;j+) nrowj=oldds.Tables0.Rowsij; newds.TablesTable1.Rows.Add(nrow); myCommand.Update(newds,Table1); myConn.Close(); 2.方法二:引用的com组件:Microsoft.Office.Interop.Excel.dll 读取EXCEL文件首先是Excel.dll的获取,将Office安装目录下的Excel.exe文件Copy到DotNet的bin目录下,cmd到该目录下,运行 TlbImp EXCEL.EXE Excel.dll 得到Dll文件。 再在项目中添加引用该dll文件. /读取EXCEL的方法 (用范围区域读取数据)private void OpenExcel(string strFil

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号