仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 538|回复: 7
打印 上一主题 下一主题

[学习教程] ASP.NET编程:C#完成Word中表格信息读取

[复制链接]
飘灵儿 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:45:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。word良多时分,会有良多信息寄存在Word文档中。而我们必要把这些信息提掏出来,另做它用。而Word的格局是ms的秘密,不晓得有无NB人能够对其做字符流的剖析,归正我是没这才能也没这盘算。以是就只能用ms供应的组件来举行编程。但ms没有供应托管的类库,而是供应了对com组件的PIA转换。详细增加,利用和相干常识,能够拜见kaneboysblog中的http://blog.joycode.com/kaneboy/articles/67688.aspx。妙手的解说,非常明晰。
而我想做的是对word文档中的表信息举行提取。网上很难找到相干的代码(翻开一个已有文档,对其内容举行剖析),但我以为这类事情是很成心义的。写了一段小的Demo,以下:
objectoFileName=@"C:DocumentsandSettingsliushMyDocumentsTestDoc.doc";
objectoReadOnly=true;
objectoMissing=System.Reflection.Missing.Value;
Word._ApplicationoWord;
Word._DocumentoDoc;
oWord=newWord.Application();
oWord.Visible=true;//只是为了便利察看
oDoc=oWord.Documents.Open(refoFileName,refoMissing,refoReadOnly,refoMissing,refoMissing,
refoMissing,refoMissing,refoMissing,refoMissing,refoMissing,refoMissing,refoMissing);
//MessageBox.Show(oDoc.Tables.Count.ToString());
for(inttablePos=1;tablePos<=oDoc.Tables.Count;tablePos++)
{
Word.TablenowTable=oDoc.Tables.Item(tablePos);
stringtableMessage=string.Format("第{0}/{1}个表:
",tablePos,oDoc.Tables.Count);
for(introwPos=1;rowPos<=nowTable.Rows.Count;rowPos++)
{
for(intcolumPos=1;columPos<=nowTable.Columns.Count;columPos++)
{
tableMessage+=nowTable.Cell(rowPos,columPos).Range.Text;
tableMessage=tableMessage.Remove(tableMessage.Length-2,2);//removea
tableMessage+="        ";
}
tableMessage+="
";
}
MessageBox.Show(tableMessage);
}
假如看过了下面kaneboy的文章(这是一个系列的之一),再看这段代码应当不会很难了解。翻开一个已有文档,然后遍历个中的一切的表。这里只是复杂的将信息显现出来,详细理论上能够对这些信息举行剖析。做完这些后,终究找到了一些官方的撑持文档,地点以下:
http://msdn2.microsoft.com/zh-CN/library/y1xatbkd.aspx
个中的word义务有对word各类操纵的复杂代码事例,用vb和c#写的。看完以后,我想每一个人城市分明vb对com的撑持比c#不是复杂了然一点两点。(能够看下这个http://blog.joycode.com/kaneboy/archive/2005/08/03/61489.aspx)一样的代码,用vb完成翻开word文档的操纵,代码以下:
DimfileNameAsString="C:DocumentsandSettingsliushMyDocumentsTestDoc.doc"
DimisReadOnlyAsBoolean=True
DimwordApplicationAsWord.Application=NewWord.Application()
DimwordDocumentAsWord.Document
wordApplication.Visible=True
wordDocument=wordApplication.Documents.Open(fileName,,isReadOnly)
以是,下次我要做COM操纵的时分,我还会回回我心爱的VB的。可是,用了太久的C#偏差愈来愈多了,动不动就习气性加括号,加分号。。。
PS:这些事情是帮我老妈做的。她们材料室想把材料目次信息存进数据库,然后创建网站便利检索和办理。这些目次信息本来是寄存在Word文档中的。这是她们第一次数字化的了局,那一次她们把一年夜堆纸质材料酿成了word文档。在她们确当时了解中,数字化就是依照本来的器材,连格局都稳定的酿成Word文档就好。如今他们对这些难于保护,难于检索的器材终究得到了耐烦,入手下手思索数据库和收集了。大概数字化也是一个头脑慢慢变化的历程。
刚刚打开这篇专题,猛然见到HAL9000发表的《对于大型公司项目平台选择j2ee的几层认识》系列,深受启发。
蒙在股里 该用户已被删除
沙发
发表于 2015-1-26 19:54:21 | 只看该作者
微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。
飘飘悠悠 该用户已被删除
板凳
发表于 2015-2-4 20:20:47 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。
若相依 该用户已被删除
地板
发表于 2015-2-10 06:36:53 | 只看该作者
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
海妖 该用户已被删除
5#
发表于 2015-2-28 23:38:50 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
admin 该用户已被删除
6#
发表于 2015-3-10 10:51:36 | 只看该作者
我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。
小妖女 该用户已被删除
7#
发表于 2015-3-17 06:12:34 | 只看该作者
ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
简单生活 该用户已被删除
8#
发表于 2015-3-23 23:33:05 | 只看该作者
PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-25 06:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表