导入word数据
public static List<FL> ImportDOC(object fileName,out StringBuilder meg) {
List<FL> flist = new List<FL>();
Application app = new Application();
Document doc = new Document();
meg = new StringBuilder();
try {
#region 导入word数据
//打开文件 if (app.Documents.Count > 0)
{ //if (MessageBox.Show("已经打开了一个word文档,你想关闭重新打开该文档吗?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
//{
// object unknow = Type.Missing;
// doc = app.ActiveDocument;
// if (MessageBox.Show("你想保存吗?", "保存", MessageBoxButtons.YesNo) == DialogResult.Yes)
// {
// app.ActiveDocument.Save();
// }
// app.ActiveDocument.Close(ref unknow, ref unknow, ref unknow);
// app.Visible = false;
//}
//else
//{
// return;
//}
}
else {
object unknow = Type.Missing;
app.Visible = true;
doc = app.Documents.Open(ref fileName,
ref unknow, ref unknow, ref unknow, ref unknow, ref unknow,
ref unknow, ref unknow, ref unknow, ref unknow, ref unknow,
ref unknow, ref unknow, ref unknow, ref unknow, ref unknow);
}
#region 读取数据
int docCount=doc.Paragraphs.Count;//world数据行数
if (docCount> 0) {
f f = new f();
for (int i = 1; i < docCount; i++) {
string linedate=doc.Paragraphs[i].Range.Text.Trim();
if (linedate.Contains("<MessageType>"))
{
if (!linedate.Contains("N")) {
meg.Append("文件类型不对");//文件类型不对不予理会
break;
}
}
if (!string.IsNullOrEmpty(getlinedata(linedate, "CallSign")))
{ f.FLIGHTID = getlinedata(linedate, "CallSign");
}
if (!string.IsNullOrEmpty(getlinedata(linedate, "ScheduleDate")))
{
f.SCHEDULEDATE =getlinedata(linedate, "ScheduleDate");
}
if (linedate.Contains("</Item>"))
{
flist.Add(f);
f = new f();
}
}
}
#endregion
//关闭文件
object unknow1 = Type.Missing;
object saveChanges1 = WdSaveOptions.wdPromptToSaveChanges;
app.ActiveDocument.Close(ref saveChanges1, ref unknow1, ref unknow1);
//关闭程序
object unknow2 = Type.Missing;
object saveChanges2 = WdSaveOptions.wdSaveChanges;
app.Quit(ref saveChanges2, ref unknow2, ref unknow2);
#endregion
}
catch (Exception e)
{
meg.Append(e.Message);
}
return flist;
//string text2 = Regex.Replace(wordDoc.Content.Text, @"(a|t|n|s+)", ""); //Regex.Replace(input, @"(a|t|n|s+)", "") }
public static string getlinedata(string linedate,string oldstr) { string str=string.Empty; try { if (linedate.Contains("<" + oldstr + ">")) { str = linedate.Replace("<"+oldstr+">", string.Empty).Replace("</"+oldstr+">", string.Empty); } } catch (Exception e) { } return str; } //public static void replaceChar() //{ // try // { // object replaceAll =WdReplace.wdReplaceAll; // object missing = Type.Missing;
// app.Selection.Find.ClearFormatting(); // app.Selection.Find.Text = "^l";
// app.Selection.Find.Replacement.ClearFormatting(); // app.Selection.Find.Replacement.Text = "^p";
// app.Selection.Find.Execute( // ref missing, ref missing, ref missing, ref missing, ref missing, // ref missing, ref missing, ref missing, ref missing, ref missing, // ref replaceAll, ref missing, ref missing, ref missing, ref missing); // } // catch (Exception e) // { // //MessageBox.Show("文档出现错误,请重新操作"); // } // }
导入word数据的更多相关文章
- 【转】 如何导入excel数据到数据库,并解决导入时间格式问题
在办公环境下,经常会用到处理excel数据,如果用写程序导入excel数据到数据库那就太麻烦了,涉及解析excel,还要各种格式问题,下面简单利用数据库本身支持的功能解决这类导入问题. 准备 创建表 ...
- 可以将化学结构NMR图谱这样导入Word
在化学各个领域中,大家常常会用到ChemDraw化学绘图软件来绘制各种图形,ChemDraw因其出色的功能在全球范围内深受欢迎,但是一些用户朋友对于一些功能还不是很了解,需要通过一些教程来了解如何操作 ...
- csv读入数据,用julia/matplotlib/pyplot 画矢量图导入word中
这是是用julia来实现画图.julia有三个画图库:Winston.Gadfly.PyPlot 这里用的是pyplot,事实上他是基于matplotlib的 1.首先在juno里安装两个库 juno ...
- Java POI导入word, 带图片
1.导入文件示例,word中简历表格模板 2.代码示例分两部分,一部分读取图片 /** * 导入word(基本信息,word格式) * @param staffId * @param baseInfo ...
- 使用VUE+SpringBoot+EasyExcel 整合导入导出数据
使用VUE+SpringBoot+EasyExcel 整合导入导出数据 创建一个普通的maven项目即可 项目目录结构 1 前端 存放在resources/static 下 index.html &l ...
- CRL快速开发框架系列教程九(导入/导出数据)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- BCP导出导入大容量数据实践
前言 SQL SERVER提供多种不同的数据导出导入的工具,也可以编写SQL脚本,使用存储过程,生成所需的数据文件,甚至可以生成包含SQL语句和数据的脚本文件.各有优缺点,以适用不同的需求.下面介绍大 ...
- SQL Server服务器上需要导入Excel数据的必要条件
SQL Server服务器上需要导入Excel数据,必须安装2007 Office system 驱动程序:数据连接组件,或者Access2010的数据库引擎可再发行程序包,这样就不必在服务器上装Ex ...
- PLSQL Developer导入Excel数据
LSQL Developer导入Excel数据 最近处理将Excel数据导入Oracle的工作比较多.之前都是采用Sqlldr命令行导入的方式处理.每次导入不同格式的Excel表数据,都需要先把Exc ...
随机推荐
- vbScript常用运算符与函数
基本运算 + 数字加法及字符串连接 - 数字减法 * 数字乘法 / 数字除法 Mod 求余数 \ 求商数 & 字符串连接 ^ 次方 = 相等 <> 不相等 >= 大于或等于 ...
- [转]linux之less命令
转自:http://www.cnblogs.com/peida/archive/2012/11/02/2750588.html less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux ...
- 可进行JavaScript代码测试与调试的12个网站
概述:JavaScript是网站前端开发最为重要的一门编程语言,本文收集了能够在线测试与调试JavaScript代码的12个网站 1.JS Bin JS bin是一个为JavaScript和CSS爱好 ...
- Win7桌面快捷方式全变成某个软件的图标,然后所有快捷方式都只打开这个图标的软件
电脑真是用到老学老好,之前没有遇到的情况,今天终于碰上了. 由于电脑桌面搜狗浏览器图标总不显示,于是选择快捷方式的打开方式为搜狗浏览器,结果,尼玛呀,全部快捷图标都变成搜狗的. 上网找了一下,双击就搞 ...
- KMP算法的代码实现
上周算法班的BEN老师花了1个小时讲自动机和KMP的关系,结果failed...明天又要上课了,花了半天时间看了下KMP,暂且停留在利用next求模式中的跳跃长度,自动机那个还不能理解... 具体的可 ...
- 笔记:C语言数据类型在32位与64位机器上的字节数
读<深入理解计算机系统> 第二章 信息的表示与处理 32位与64位的典型值,单位字节 声明 32位机器 64位机器 char 1 1 short int int 4 4 long int ...
- Struts2注解 特别注意
1 Struts2注解的作用 使用注解可以用来替换struts.xml配置文件!!! 2 导包 必须导入struts2-convention-plugin-2.3.15.jar包,它在struts2安 ...
- OC使用inline替代宏
CG_INLINE voidGCDDelay(int64_t delayInSeconds,dispatch_block_t block){ dispatch_time_t popTime = dis ...
- .net 数据库连接池超时问题
一.数据库Connection Pool 连接池是什么 每当程序需要读写数据库的时候.Connection.Open()会使用ConnectionString连接到数据库,数据库会为程序建立 一个连接 ...
- openfire 最大连接数调优
https://community.igniterealtime.org/thread/48064#224126 https://community.igniterealtime.org/thread ...