导入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 ...
随机推荐
- (转) SQL 命令
省的自己总结了 1.终端启动MySQL:/etc/init.d/mysql start:(stop ,restart.)2.登录MySQL:mysql -uroot -p (用root账户登录),然后 ...
- [转]Linux下which、whereis、locate、find 命令的区别
转自:http://312788172.iteye.com/blog/730280 我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料,因为有 ...
- 查找指定目录下的文件 .xml
pre{ line-height:1; color:#9f1d66; background-color:#cfe4e4; font-size:16px;}.sysFunc{color:#5d57ff; ...
- 【Java多线程】互斥
Java多线程学习2——互斥 一.前言 在上一节 (http://www.cnblogs.com/lzhen/p/3917966.html) 中,通过实现Runnable接口,可以实现多线程中的资源的 ...
- nagios高可用性设置
1. 前言 如何来实现nagios监控系统的高可用,监控是很重要的,在关键时刻进行通知报警,通知人员进行相应的处理. 在进行配置的时候,需要配置两台相同服务的nagios服务器,配置相同,同时在运行, ...
- Python开发者最常犯的10个错误
Python是一门简单易学的编程语言,语法简洁而清晰,并且拥有丰富和强大的类库.与其它大多数程序设计语言使用大括号不一样 ,它使用缩进来定义语句块. 在平时的工作中,Python开发者很容易犯一些小错 ...
- Go语言相关图书推荐
Go语言编程 作 者 许式伟 等 著 出 版 社 人民邮电出版社 出版时间 2012-08-01 版 次 1 页 数 245 印刷时间 2012-08-01 开 ...
- Python面向对象3
一.内部类 内部类就是在类的内部定义的类,主要目的是为了更好的抽象现实世界. 二.魔术方法(构造函数和析构函数) #!usr/bin/python #coding:utf8 class Milo(): ...
- Tcl之Intro
Tool command language, a widely used scripting tool that was deveoped for controlling and extending ...
- PHP强大的内置filter (一)
<?php #PHP内置的validate filter $input_data = True; $result = filter_var($input_data,FILTER_VALIDATE ...