C操作EXCEL全解代码.doc

上传人:wux****ua 文档编号:9011976 上传时间:2020-04-02 格式:DOC 页数:7 大小:33.50KB
返回 下载 相关 举报
C操作EXCEL全解代码.doc_第1页
第1页 / 共7页
C操作EXCEL全解代码.doc_第2页
第2页 / 共7页
C操作EXCEL全解代码.doc_第3页
第3页 / 共7页
点击查看更多>>
资源描述
C#操作EXCEL全解(代码)提示:运行之前必须先引用Interop.Excel.dll模块using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.OleDb;using System.Windows.Forms;using System.Reflection;using Excel;namespace AnalysisSystem.DB public class ExcelOperation private string _fileName;/保存路径名 public ExcelOperation(string fileName) _fileName = fileName; private OleDbConnection GetConnection() string connectString = string.Format(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=0;Extended Properties=Excel 8.0,_fileName); OleDbConnection myConn = new OleDbConnection(connectString);/建立链接 return myConn; public System.Data.DataTable ExecuteTableResult(string strSql) System.Data.DataTable dt = new System.Data.DataTable(); try OleDbConnection conn = this.GetConnection(); OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn);/执行相关SQL语句 da.Fill(dt); catch (System.Exception ex) /do nothing return dt; public DataSet ExecuteSetResult(string strSql,string table_name) DataSet ds = new DataSet(); string temp_name = + table_name + $; try OleDbConnection conn = this.GetConnection(); OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn); da.Fill(ds,temp_name); catch (System.Exception ex) /do nothing return ds; public string ExecuteOneResult(string strSql) string result = ; System.Data.DataTable dt = new System.Data.DataTable(); try OleDbConnection conn = this.GetConnection(); OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn); da.Fill(dt); catch (System.Exception ex) /do nothing if (dt != null & dt.Rows.Count 0) result = dt.Rows00.ToString(); return result; public void ExecuteNonResult(string strSql) try OleDbConnection conn = this.GetConnection(); OleDbCommand cmd = new OleDbCommand(strSql, conn); cmd.ExecuteNonQuery(); catch (System.Exception ex) /do nothing private _Workbook W_B(Excel.Application app) Workbooks workbooks = app.Workbooks; _Workbook workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet); return workbook; private _Worksheet W_S(_Workbook work_book) Sheets sheets = work_book.Worksheets; _Worksheet worksheet = (_Worksheet)sheets.get_Item(1);/获取选择第一个表,本身默认名称为Sheet1 return worksheet; /从DataGridView中导出数据到Excel表,单表导出 public void Excel_out(DataGridView dataGridView1) /建立Excel对象 Excel.Application app = new Excel.Application(); try _Workbook workbook = this.W_B(app); _Worksheet worksheet = this.W_S(workbook); string sLen = ; /取得最后一列列名 char H = (char)(64 + dataGridView1.ColumnCount / 26); char L = (char)(64 + dataGridView1.ColumnCount % 26); if (dataGridView1.ColumnCount 26) sLen = L.ToString(); else sLen = H.ToString() + L.ToString(); /标题 string sTmp = sLen + 1; Range ranCaption = worksheet.get_Range(sTmp, A1); string asCaption = new stringdataGridView1.ColumnCount; for (int i = 0; i dataGridView1.ColumnCount; i+) asCaptioni = dataGridView1.Columnsi.HeaderText; ranCaption.Value2 = asCaption; /数据 object obj = new objectdataGridView1.Columns.Count; for (int r = 0; r dataGridView1.RowCount - 1; r+) for (int l = 0; l dataGridView1.Columns.Count; l+) if (dataGridView1l, r.ValueType = typeof(DateTime) objl = dataGridView1l, r.Value.ToString(); else objl = dataGridView1l, r.Value; string cell1 = sLen + (int)(r + 2).ToString(); string cell2 = A + (int)(r + 2).ToString(); Range ran = worksheet.get_Range(cell1, cell2); ran.Value2 = obj; /保存 workbook.SaveCopyAs(this._fileName); workbook.Saved = true; finally /关闭 app.UserControl = false; app.Quit(); / / 多表导出 / / DataGridView列表集合 / 表名称集合 public void Excel_out_MulTable(List dataGridView, string TableList) /建立Excel对象 Excel.Application app = new Excel.Application(); try Workbooks workbooks = app.Workbooks;/定义一个工作簿集合 _Workbook workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet);/向工作簿添加一个新工作簿 Sheets sheets = workbook.Worksheets;/定义一个工作表集合 _Worksheet worksheet ; int wnumber = 0; while (wnumber+ (TableList.GetLength(0) - 1) sheets.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value);/向一个工作表集合添加一个新工作表 /*提醒:Missing类为命名空间System.Reflection中的类,所以记得引入*/ wnumber = 0; foreach (DataGridView dataGridView1 in dataGridView) worksheet = null; worksheet = (_Worksheet)sheets.get_Item(wnumber + 1);/取出需要进行操作的工作表 worksheet.Name = TableListwnumber;/设置改工作表名称 if (wnumber != 0) sheets.Select(wnumber);/选中操作表 string sLen = ; /取得最后一列列名 char H = (char)(64 + dataGridView1.ColumnCount / 26); char L = (char)(64 + dataGridView1.ColumnCount % 26); if (dataGridView1.ColumnCount 26) sLen = L.ToString(); else sLen = H.ToString() + L.ToString(); /标题 string sTmp = sLen + 1; Range ranCaption = worksheet.get_Range(sTmp, A1); string asCaption = new stringdataGridView1.ColumnCount; for (int i = 0; i dataGridView1.ColumnCount; i+) asCaptioni = dataGridView1.Columnsi.HeaderText; ranCaption.Value2 = asCaption; /数据 object obj = new objectdataGridView1.Columns.Count; for (int r = 0; r dataGridView1.RowCount - 1; r+) for (int l = 0; l dataGridView1.Columns.Count; l+) if (dataGridView1l, r.ValueType = typeof(DateTime) objl = dataGridView1l, r.Value.ToString(); else objl = dataGridView1l, r.Value; string cell1 = sLen + (int)(r + 2).ToString(); string cell2 = A + (int)(r + 2).ToString(); Range ran = worksheet.get_Range(cell1, cell2);/设置单元格 ran.Value2 = obj; wnumber+; /保存 workbook.SaveCopyAs(this._fileName); workbook.Saved = true; finally /关闭 app.UserControl = false; app.Quit(); -资料引用:http:/www.knowsky.com/540655.html
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!