当前位置: 首页 > news >正文

如何做网站制作建设银行河北分行网站

如何做网站制作,建设银行河北分行网站,php网站开发技术题目,大庆市建设局网站目录 功能需求 Office 数据源的一些映射关系 范例运行环境 配置Office DCOM 关键代码 组件库引入 ​核心代码 杀掉进程 总结 功能需求 在应用项目里#xff0c;多数情况下我们会遇到导入 Excel 文件数据到数据库的功能需求#xff0c;但某些情况下#xff0c;也存…目录 功能需求 Office 数据源的一些映射关系 范例运行环境 配置Office DCOM 关键代码 组件库引入 ​核心代码 杀掉进程 总结 功能需求 在应用项目里多数情况下我们会遇到导入 Excel 文件数据到数据库的功能需求但某些情况下也存在使用 Word 进行表格数据编辑的情况。Word 和 Excel 其实各有特点用户的习惯不同即使同一数据源可能提供的数据源文件类型也不同这其中也包括导入Word内容的功能比如表格数据导出到DataSet数据集。 Office 数据源的一些映射关系 下图是一个简单的 Office 数据源的映射关系 1、第一层级比如 WORD / EXCEL 为应用层级Application、 DATASET / DATABASE 为数据容器 2、第二层级比如WORD 包含一个文档对象Docment、Excel 包含一个工作簿对象WorkBook、DataSet / DataBase 包括一组数据表对象Tables 3、第三层级比如Word里的表格对象Table、Excel里的工作表对象Sheet 最实际的工作任务是要将Table或Sheet对象的二维数据对应导出生成到 DataSet 里的 Table 对象如果有多个则生成对应的集合。最后我们可能会再次导出到 DataBase 的数据表集合里Tables。 范例运行环境 操作系统 Windows Server 2019 DataCenter 操作系统上安装 Office Word 2016 .net版本 .netFramework4.7.1 或以上 开发工具VS2019  C# 配置Office DCOM 对于安装原生Office应用我们需要对DCOM进行进一步的配置方可使用其API。 打开控制面板、管理工具、组件服务 点击组件服务、计算机、我的电脑、DCOM配置  找到 Microsoft Word97-2003 文档应用程序 选择属性、打开标识选项卡、选择下列用户选项设置启动Word应用的用户点确定即可。 理论上设置到这里就可以了但以防万一可以继续设置启动权限选择安全选项卡、启动和激活权限如下图 关键代码 组件库引入 核心代码 public DataSet WordAsDataSet(string _filename) 方法传入要读取的 WORD 文件路径即可方法会遍历该WORD里的TABLES对象集合如果找到TABLE对象则按列的顺序创建字段列比如F1、F2...Fn以些类推从第二行起为记录行则根据创建的结构写入到 DataTable中。 public DataSet WordAsDataSet(string _filename){DataSet ds new DataSet();Object Nothing System.Reflection.Missing.Value;object filename _filename;//创建一个名为WordApp的组件对象DateTime beforetime DateTime.Now;Word.Application WordApp new Word.Application();//创建一个名为WordDoc的文档对象WordApp.DisplayAlerts Word.WdAlertLevel.wdAlertsNone;Word.Document WordDoc WordApp.Documents.Open(ref filename, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);WordDoc.SpellingChecked false;//关闭拼写检查WordDoc.ShowSpellingErrors false;//关闭显示拼写错误提示框DateTime aftertime DateTime.Now; //遍历所有的Word里的表格并写到数据集的TABLES集合里foreach (Word.Table wTable in WordDoc.Tables){System.Data.DataTable dt new System.Data.DataTable();for (int colPos 1; colPos wTable.Columns.Count; colPos){DataColumn dc new DataColumn();dc.ColumnName F colPos.ToString();dt.Columns.Add(dc);}for (int rowPos 1; rowPos wTable.Rows.Count; rowPos){DataRow drNew dt.NewRow();int columnIndex 0;foreach (Word.Cell cellObj in wTable.Rows[rowPos].Cells){drNew[columnIndex] cellObj.Range.Text.Remove(cellObj.Range.Text.Length - 2, 2);//remove \r\acolumnIndex;}dt.Rows.Add(drNew);}ds.Tables.Add(dt);}WordDoc.Close(ref Nothing, ref Nothing, ref Nothing);//关闭WordApp组件对象WordApp.Quit(ref Nothing, ref Nothing, ref Nothing);KillProcessByStartTime(WINWORD, beforetime, aftertime);return ds;}杀掉进程 这是一个无奈之举尝试了一些方法但某些情况下仍然无法释放掉 Word 应用进程因此根据时间点范围写了一个强制杀掉进程的方法。 示例代码如下 public string KillProcessByStartTime(string processName,DateTime beforetime,DateTime aftertime){Process[] ps Process.GetProcesses();foreach (Process p in ps) {if(p.ProcessName.ToUpper()!processName) continue;if(p.StartTime beforetime p.StartTime aftertime){try{p.Kill();}catch(Exception e){return e.Message;}}} return ;} 总结 在实际的应用中无论是导入的文件格式还是导出的数据源都是要结合客户的需求进行的。 在功能实现前需要约定模板文件的格式字段内容的意义、长度等。导入到 DataSet 成功后再根据业务逻辑进行后续操作再加工或直接导入到规范的数据表里如 MS SQL SERVER。 这些代码我们提供了一些操作WORD相关的关键方法这里仅作参考欢迎大家评论指教
http://www.pierceye.com/news/38035/

相关文章:

  • 网站加在线qqwordpress 显示当前分类
  • 有多少收费网站百度关键词首页排名怎么上
  • 网站设置快捷键商业网站建设案例
  • 若尊二级域名分发郑州官网优化推广
  • c2c网站系统网站案例
  • 专门给别人做网站成都专业建设网站
  • 上海网站建设明细表南通 网络 公司网站
  • dz网站数据备份恢复wordpress rest 授权
  • 企业所得税怎么征收几个点广东网络优化推广
  • 接单网站源码网站建设检查整改情况报告
  • 做网站的成本有多少凌河网站建设推广
  • 长沙做网站优化的公司aitt网站建设中
  • 建设网站站点过程中全国装修公司排名前十强
  • 环保局网站建设wordpress头像怎么修改
  • 烟台福山建设工程监测网站主机网站
  • 苏州网站排名方案wordpress网站资源
  • 邯郸网站设计价位seo如何快速出排名
  • 爱站关键词挖掘old怎么申请自己公司的网址
  • 网上商城网站模板知名响应式网站企业
  • 0基础建站网站搭建教程门户系统1号线wordpress
  • 个人网站 商城 备案网站建设报价请示
  • 网站建设工作室小俊哥建筑公司logo设计大全
  • 重庆最便宜的网站建设公司重庆网站建设 公司
  • 网站开发与网页设计wordpress4.9下载
  • 网站维护是什么职业wordpress灯箱代码
  • 著名设计案例网站如何申请域名网站注册
  • 网站流量分析网站wordpress 个人写作
  • 卢松松的网站网站h1标签的应用
  • 网站规划与建设ppt模板下载今天的三个新闻
  • 做网站的伪原创怎么弄有哪些做ae小动效的网站