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数据的更多相关文章

  1. 【转】 如何导入excel数据到数据库,并解决导入时间格式问题

    在办公环境下,经常会用到处理excel数据,如果用写程序导入excel数据到数据库那就太麻烦了,涉及解析excel,还要各种格式问题,下面简单利用数据库本身支持的功能解决这类导入问题. 准备 创建表 ...

  2. 可以将化学结构NMR图谱这样导入Word

    在化学各个领域中,大家常常会用到ChemDraw化学绘图软件来绘制各种图形,ChemDraw因其出色的功能在全球范围内深受欢迎,但是一些用户朋友对于一些功能还不是很了解,需要通过一些教程来了解如何操作 ...

  3. csv读入数据,用julia/matplotlib/pyplot 画矢量图导入word中

    这是是用julia来实现画图.julia有三个画图库:Winston.Gadfly.PyPlot 这里用的是pyplot,事实上他是基于matplotlib的 1.首先在juno里安装两个库 juno ...

  4. Java POI导入word, 带图片

    1.导入文件示例,word中简历表格模板 2.代码示例分两部分,一部分读取图片 /** * 导入word(基本信息,word格式) * @param staffId * @param baseInfo ...

  5. 使用VUE+SpringBoot+EasyExcel 整合导入导出数据

    使用VUE+SpringBoot+EasyExcel 整合导入导出数据 创建一个普通的maven项目即可 项目目录结构 1 前端 存放在resources/static 下 index.html &l ...

  6. CRL快速开发框架系列教程九(导入/导出数据)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  7. BCP导出导入大容量数据实践

    前言 SQL SERVER提供多种不同的数据导出导入的工具,也可以编写SQL脚本,使用存储过程,生成所需的数据文件,甚至可以生成包含SQL语句和数据的脚本文件.各有优缺点,以适用不同的需求.下面介绍大 ...

  8. SQL Server服务器上需要导入Excel数据的必要条件

    SQL Server服务器上需要导入Excel数据,必须安装2007 Office system 驱动程序:数据连接组件,或者Access2010的数据库引擎可再发行程序包,这样就不必在服务器上装Ex ...

  9. PLSQL Developer导入Excel数据

    LSQL Developer导入Excel数据 最近处理将Excel数据导入Oracle的工作比较多.之前都是采用Sqlldr命令行导入的方式处理.每次导入不同格式的Excel表数据,都需要先把Exc ...

随机推荐

  1. web开发中禁止因为网速慢导致重复提交数据

    var checkSubmitFlg = false;  function check() {                if (!checkSubmitFlg) {                ...

  2. ansible定时任务模块和用户组模块使用

    接上篇,还是一些基础模块的使用,这里主要介绍的是系统模块的使用. 下面例子都进行过相关的实践,从而可以直接进行使用相关的命令. 3.用户模块的使用 用户模块主要用来管理用户账号和用户的属性(对远程主机 ...

  3. 数往知来SQL SERVER 视图 触发器 <九>

    SQL server学习_视图 1.视图 视图其实是一张虚拟表,他是一张表的部分数据或多张表的综合数据(视图就是把SQL语句封装起来) 可以看做是一个结果集,但是不是一个结果集 视图不具备存储数据的能 ...

  4. Research on Unsupervised Word Alignment Based on Inversion Transduction Grammar

    1.提出了一种基于特征函数和反向转录文法(ITG)的无监督词对齐模型,使用对数线性模型对文法规则的概率建模,先验知识可以通过特征函数的形式加入到模型里面,而模型仍然可以进行无监督训练.2. 在模型的参 ...

  5. Hadoop 集群常见错误

    这里将自己在初识hadoop过程中遇到的一些错误做一个简单总结: (一)启动hadoop集群时易出现的错误: 错误现象:java.net.NoRouteToHostException: No rout ...

  6. 导出Excel Gridview

    /// <summary>    /// 定义导出Excel的函数    /// </summary>    /// <param name="FileType ...

  7. Shell 脚本基本操作练习

    这里主要是熟悉了shell的基本操作,包括变量赋值引用修改.函数的使用.信号的获取及一些判断方法等,具体详见代码: #!/bin/sh str="Hello World !" ec ...

  8. C++ 16进制转10进制

    #include <stdio.h>#include <string.h>unsigned long f(char* str){ unsigned long var=0; un ...

  9. 用c++库函数轻松解决回文问题

    在<Accelerated C++>6.1学到的,这个解决回文问题的方案很简单,有必要把它记录下来. begin返回一个迭代器,它会从容器的最后一个元素开始,并且从后向前地逆序访问容器.e ...

  10. LDR指令的格式:

    http://blog.csdn.net/tanyouliang/article/details/6767011 LDR指令的格式: LDR{条件}   目的寄存器     <存储器地址> ...