版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、林渊钟2022-4-17ExcelExcel对象模型对象模型对象根本操作对象根本操作ApplicationApplication对象对象WorkbooksWorkbooks对象对象WorksheetsWorksheets对象对象RangeRange对象对象ExcelExcel操作方法扩展操作方法扩展(VBA(VBA宏宏) )性能优化性能优化FastExportFastExportSingletonSingleton套用模板输出套用模板输出ExcelExcel动态输出设计动态输出设计创建释放翻开封锁设置当前操作的sheet获取Range : 单个: (Range)_workSheet.Cells
2、top, left; 区域: _workSheet.get_Range(“B3:D5, Type.Missing); _workSheet.get_Range(_workSheet.Cells3, 2,_workSheet.Cells5, 4);合并单元格: if(range.Count 1) range.Merge(Missing.Value);设置单元格值: range.NumberFormatLocal = “; /文本格式,“.0_一位小数 range.Value2 = value; /区别range.Value格式化目的单元格: styleRange.Copy(Missing.Val
3、ue); objectRange.PasteSpecial(XlPasteType.xlPasteFormats, XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);序列填充: startRange.Value2 = “1; /填充第一个单元格序号1 startRange.AutoFill(destination, XlAutoFillType.xlFillSeries);设置公式: targetRange.Formula = “=SUM(B3:B10); targetRange.FormulaR1C1=“=S
4、UM(R-3C-2:R-1C-2,R-3C:R-1C);u工具-宏-录制新宏u工具-宏-Visual Basic 编辑器Demo public void FastExportToExcel(System.Data.DataTable dt, int startTop, int startLeft) / Copy the DataTable to an object array object, rawData = new objectdt.Rows.Count, dt.Columns.Count; / Copy the values to the object array for (int ro
5、w = 0; row dt. Rows.Count; col+) for (int col = 0; col dt. Columns.Count; row+) rawDatarow, col = value; Range range = GetRange(startTop, startLeft, dt.Rows.Count, dt.Columns.Count); / Fast data export to Excel range.Value2 = rawData; 创建二维数组二维数组赋值直接填值转置处置?转置处置?耗费大量的内存和时间耗费大量的内存和时间 public class Excel
6、Operator private static ExcelOperator instance; private ApplicationClass _appClass = null; private _Workbook _workBook = null; private string _filePath = ; public string FileName get return _filePath; private ExcelOperator(string filePath) _appClass = new ApplicationClass(); _appClass.Visible = fals
7、e; Open(filePath); /翻开workbook 赋值_filePath = filePath public static ExcelOperator GetInstance(string filePath) if (instance = null) instance = new ExcelOperator(filePath); /保证仅实例化一次 return instance; 静态模板静态模板模板分类模板分类 动态模板动态模板1固定单元格填充CellInfo类2动态生成表头仅动态Excel表3从数据库获取DataTable,快速填充CelleInfo类构造函数:CellInf
8、o(string content, int top, int left)CellInfo(string content, int top, int left, int finalTop, int finalLeft)例:假设要合并B3-D5共9个单元格,并填写“内容两个字,那么运用CellInfo(“内容,3,2,5,4)1.统计统计/删除现有统计表删除现有统计表DropTable(DataAccess GisDbAccess, string tableName);/ 根据字段根据字段lstItemInfo列表生成统计表列表生成统计表tableNameCreateTable(DataAcces
9、s GisDbAccess, string tableName, List lstItemInfo); /删除统计的存储过程删除统计的存储过程DropProcedure(DataAccess GisDbAccess, string procName);/创建统计的存储过程创建统计的存储过程string procString = GetGenerateStatProcSQL(); /存储过程的存储过程的SQL语句语句CreateStatProcedure(DataAccess GisDbAccess, string procString);/执行统计的存储过程执行统计的存储过程RunProced
10、ure(string storedProcName, IDataParameter parameters);2.获取数据获取数据/删除获取统计表数据的存储过程删除获取统计表数据的存储过程DropProcedure(DataAccess GisDbAccess, string procName);/创建获取统计表数据的存储过程创建获取统计表数据的存储过程string SQLString = GetGenerateSelectProcSQL(); /存储过程的存储过程的SQL语句语句ExecuteSql(string SQLString);/执行获取统计表数据的存储过程执行获取统计表数据的存储过程DataSet RunProcedure(string storedProcN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房产买卖协议案例
- 临时借款补充协议范本
- 银行贷款续期合同
- 冰雪路面防滑安全行动
- 消防安全责任合同签订指南
- 绿化工程劳务分包协议
- 招标采购文件编写标准
- 五金工具采购合同
- 管理保证书优化企业资源配置的关键
- 招标文件备案快速指南
- 最新人教版物理9年级第20章第4节《电动机》市优质课一等奖课件
- 美的空调制造工艺手册
- 《三气周瑜》儿童故事绘本ppt课件(图文演讲)
- 部编版语文五年级下册《村晚》课件
- 新进教师信息登记表
- 防爆电气设备安全管理规定
- 统计信号分析知到章节答案智慧树2023年哈尔滨工程大学
- 用爱心说实话【经典绘本】
- 《小花籽找快乐》课件
- 基建安全风险分级管控实施细则
- 海南省建筑施工现场安全生产管理资料(一册和二册)
评论
0/150
提交评论