看到论坛里面不断有人提问关于读取excel和导入excel的相关问题。闲暇时间将我所知道的对excel的操作加以总结,现在共享大家,希望给大家能够给大家带了一定的帮助。
另外我们还要注意一些简单的问题1.excel文件只能存储65535行数据,如果你的数据大于65535行,那么就需要将excel分割存放了。2.关于乱码,这主要是字符设置问题。
1.加载Excel(读取excel内容)返回值是一个DataSet
- //加载Excel
- publicstaticDataSetLoadDataFromExcel(stringfilePath)
- {
- try
- {
- stringstrConn;
- strConn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+filePath+";ExtendedProperties='Excel8.0;HDR=False;IMEX=1'";
- OleDbConnectionOleConn=newOleDbConnection(strConn);
- OleConn.Open();
- Stringsql="SELECT*FROM[Sheet1$]";//可是更改Sheet名称,比如sheet2,等等
- OleDbDataAdapterOleDaExcel=newOleDbDataAdapter(sql,OleConn);
- DataSetOleDsExcle=newDataSet();
- OleDaExcel.Fill(OleDsExcle,"Sheet1");
- OleConn.Close();
- returnOleDsExcle;
- }
- catch(Exceptionerr)
- {
- MessageBox.Show("数据绑定Excel失败!失败原因:"+err.Message,"提示信息",
- MessageBoxButtons.OK,MessageBoxIcon.Information);
- returnnull;
- }
- }
2.写入Excel内容,参数:excelTable是要导入excel的一个table表
- publicstaticboolSaveDataTableToExcel(System.Data.DataTableexcelTable,stringfilePath)
- {
- Microsoft.Office.Interop.Excel.Applicationapp=
- newMicrosoft.Office.Interop.Excel.ApplicationClass();
- try
- {
- app.Visible=false;
- WorkbookwBook=app.Workbooks.Add(true);
- WorksheetwSheet=wBook.Worksheets[1]asWorksheet;
- if(excelTable.Rows.Count>0)
- {
- introw=0;
- row=excelTable.Rows.Count;
- intcol=excelTable.Columns.Count;
- for(inti=0;i
- {
- for(intj=0;j
- {
- stringstr=excelTable.Rows[i][j].ToString();
- wSheet.Cells[i+2,j+1]=str;
- }
- }
- }
- intsize=excelTable.Columns.Count;
- for(inti=0;i
- {
- wSheet.Cells[1,1+i]=excelTable.Columns[i].ColumnName;
- }
- //设置禁止弹出保存和覆盖的询问提示框
- app.DisplayAlerts=false;
- app.AlertBeforeOverwriting=false;
- //保存工作簿
- wBook.Save();
- //保存excel文件
- app.Save(filePath);
- app.SaveWorkspace(filePath);
- app.Quit();
- app=null;
- returntrue;
- }
- catch(Exceptionerr)
- {
- MessageBox.Show("导出Excel出错!错误原因:"+err.Message,"提示信息",
- MessageBoxButtons.OK,MessageBoxIcon.Information);
- returnfalse;
- }
- finally
- {
- }
- }
转载的朋友请一定注明出处谢谢!http://blog.csdn.net/gisfarmer/
新闻热点
疑难解答