如何将文件信息导入到页面

时间:2024-04-01 20:24:39

将文件信息导入到页面,文件从何来,看下图:

如何将文件信息导入到页面

这里使用一个类型为file(文件)的input标签来进行选取文件,且设置accept的文件扩展名为“.doc,.docx”。一个action为“upLoadWord”的表单来提交文件。

因为功能表象是由一个导入按钮实现,表单没必要展示在页面上,所以放入了一个隐藏的div中。

那么该如何使用表单呢,我们在按钮的点击事件中放入了input标签的的点击触发事件,使得点击了按钮就弹出文件选择窗口。而表单提交就由input表签的“onchange”的改变事件的方法实现。在方法中使用的是“jquery.form” 插件中的表单提交方法“ajaxSubmit”将文件提交到action指定的控制器成员。

在控制器成员upLoadWord中我们使用HttpPostedFileBase类创建变量 file作为参数接受文件。

  • 将file文件转化为html类型文件

采用的方法是引用E-iceblue公司开发的专业的Word .NET类库中的Spire.Doc,借助其中的Document类进行转换。

  1. 在进行转化前的准备工作
  1. 自定义文件名(防止重复),创建文件夹路径。
  2. 拼接路径(文件夹路径+自定义文件名),保存file文件——file.SaveAs(filePath)。
  3. 文件扩展名改为“.html”,拼接路径htmlPath(放置html文件的路径)。
  1. 进行转化

(1)先将文件读取到document 中,Documentdocument=newDocument(filePath),filePath为原始文件储存路径。

 

(2)再将文件转化为html格式并保存到指定的路径下

document.SaveToFile(htmlPath, FileFormat.Html)。htmlPath为html文件的储存路径。

 

  • 获取html文件文本信息
    1. 处理html标签
      1. ReadAllText读取文件中所有的字符串(html标签)
      2. 去除标签中无用的style样式,

string strHtml = System.IO.File.ReadAllText(htmlPath);

      1. 将文本标签都转化为带自定义属性的p标签(方便正则匹配),

strHtml = Regex.Replace(strHtml, "<p|<pre", "<p reg=\"demo\"");

strHtml = Regex.Replace(strHtml, "</pre>", "</p>");

      1. 匹配出所有的p标签放入正则匹配结果集合,

MatchCollection matchesPList = Regex.Matches(strHtml, "<p reg=\"demo\"[\\w\\W\r\n]*?</p>");

    1. 获取P标签中的文本与图片并存放
      1. 声明键值对集合列表,List<Dictionary<string, string>> listResult = new List<Dictionary<string, string>>();

for循环p标签集合。For循环中调用提取p标签内容方法,p标签内容与for循环索引转化string类型成键值对放入键值对集合中,键值对集合放入实现声明的简直对集合列表中。

如何将文件信息导入到页面

      1. 提取p标签内容方法:判断有无img标签,有则获取img标签输出,无则去掉span标签与p标签输出。

如何将文件信息导入到页面

 

  • 输出数据到页面
    1. foreach键值对集合列表,foreach再foreach键值对集合。内层foreach取键值对集合中值相加。外层foreach取相加值加换行符再相加。最后输出。

如何将文件信息导入到页面

                                额,写(xia)的(ji)很(ba)差(xie)。