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. JS判断是不是本页面并且,给标签添加属性和属性值

    大多是在导航栏中用到的,在导航栏中在主页和在其他的网页点击导航栏中的主页是不同的,主要就是判断这个. 我是在ascs页面中写的. 下面先看标签: <a href="http://www ...

  2. jQuery选择器之全面总结

    选择器是jQuery的根基,在jQuery中,对事件处理,遍历DOM和Ajax操作都依赖于选择器.如果能熟练的使用选择器,不仅能简化代码,而且可以达到事半功倍的效果. jQuery中的选择器完全继承了 ...

  3. python GUI模块的转变

    Tkinter → tkintertkMessageBox → tkinter.messageboxtkColorChooser → tkinter.colorchoosertkFileDialog ...

  4. Web前端开发工程师编程能力飞升之路

    [背景] 如果你是刚进入web前端研发领域,想试试这潭水有多深,看这篇文章吧:如果你是做了两三年web产品前端研发,迷茫找不着提高之路,看这篇文章吧:如果你是四五年的前端开发高手,没有难题能难得住你的 ...

  5. Oracle 热备份batch脚本 Windows

    1.最初来源于网络. 2.根据环境和喜好自己修改. 3.实测是可以完成备份任务的. 4.不推荐用于实际环境. bak.bat:执行时执行此脚本,其他脚本是调用和生成或者生成之后再调用.(需要自己修改先 ...

  6. 我的日常工具——gdb篇

    我的日常工具——gdb篇 03 Apr 2014 1.gdb的原理 熟悉linux的同学面试官会问你用过gdb么?那好用过,知道gdb是怎么工作的么?然后直接傻眼... gdb是怎么接管一个进程?并且 ...

  7. atoi()函数的实现

    atoi()函数的功能:将字符串转换成整型数:atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将结果返回( ...

  8. 手势冲突UIPanGestureRecognizer 和UIPinchGestureRecognizer

    当同时使用pan和pin手势时假如冲突,需要加入下面方法 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shou ...

  9. ubuntu LVM

    本文介绍下,在ubuntu中扩展LVM磁盘的具体方法,有需要的朋友参考下吧. 当LV空间利用率较大即将耗尽LV空间时,可以将一块新的磁盘或一块磁盘上的/空间加入LV中. 现在/ 空间如下: 代码示例: ...

  10. C++11能用智能指针

    [C++11能用智能指针] shared_ptr 是一引用计数 (reference-counted) 指针,其行为与一般 C++ 指针即为相似.在 TR1 的实现中,缺少了一些一般指针所拥有的特色, ...