如何实现WORD文档自动导入网站数据库.doc

上传人:b****1 文档编号:236578 上传时间:2022-10-07 格式:DOC 页数:4 大小:63.50KB
下载 相关 举报
如何实现WORD文档自动导入网站数据库.doc_第1页
第1页 / 共4页
如何实现WORD文档自动导入网站数据库.doc_第2页
第2页 / 共4页
如何实现WORD文档自动导入网站数据库.doc_第3页
第3页 / 共4页
如何实现WORD文档自动导入网站数据库.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

如何实现WORD文档自动导入网站数据库.doc

《如何实现WORD文档自动导入网站数据库.doc》由会员分享,可在线阅读,更多相关《如何实现WORD文档自动导入网站数据库.doc(4页珍藏版)》请在冰豆网上搜索。

如何实现WORD文档自动导入网站数据库.doc

如何实现WORD文档自动导入网站数据库

最近,本人在制作个人网站时发现,如何把手中的WORD文档快速的上传到自己的网站是个大问题。

主要的拦路虎就是文档中嵌入的图片如何上传,秉承网人传统“不懂问百度”的精神,我在百度上搜了好久,发现这真的是一个好问题,现成的解决方法还是有的:

首先有个台湾的编辑器在很久之前就解决了这个问题,它是eWebEditor,它的解决方案是在你的机器上安装一个浏览器插件,我试用了一下格式保留不错,图片正确上传。

但很不幸它要收费,对于我辈屌丝来说,收费的东东用不起啊。

而且在百度搜了下,听人说eWebEditor还存在很大的安全问题,所以自然就pass了。

还有一个是百度投资在搞的ueditor,可惜里面的导入功能现在还在测试,无法提供给我们使用,而且经过我的测试,它的导入功能无法导入.doc文档,只能支持.docx文档,当然它的导入功能还是很好使的,只不过受制于人不是我们的追求。

所以我决定自己搞一个东西实现这个功能。

如何实现呢,解决方案有2个选择:

客户端方案和服务端方案,由于我的个人网站时PHP语言,处理WORD文档的能力比较弱,经过我的搜索好像只有phpword提供这样的功能,但要处理这么麻烦的工作,它的能力还力有未逮。

那么就用客户端方案了,想到WORD的老东家是微软,所以我选择了C#作为开发语言,事实证明C#开发的确给我省了很多时间。

下面我就开发过程说几点感想:

1、首先选择开发方案,我选择了一个最简单的开发方案:

打开WORD文档并把文档复制到剪贴板,C#程序读取剪贴板内容并把图文上传到网站。

这样的方案省却了操作WORD文件,降低了编程难度。

2、解决核心问题,这个方案的核心问题是:

读取剪贴板上的HTML代码,上传HTML代码中的图片,替换HTML代码中的图片链接。

经过百度搜索发现,C#要实现这些功能都非常简单,核心代码如下:

剪贴板读取HTML:

Clipboard.GetData("HtmlFormat");

上传图片:

myWebClient.UploadFile(“上传地址”,"POST",“上传文件名”)

替换字符:

str=str.Replace(strlist[i],webfilelist[i]);

3、确定了核心问题的解决方法,接下来就是代码的编写。

代码如下:

if(Clipboard.ContainsText(TextDataFormat.Html))

{

System.IO.MemoryStreamvMemoryStream=

Clipboard.GetData("HtmlFormat")asSystem.IO.MemoryStream;

vMemoryStream.Position=0;

byte[]vBytes=newbyte[vMemoryStream.Length];

vMemoryStream.Read(vBytes,0,(int)vMemoryStream.Length);

stringstr=Encoding.UTF8.GetString(vBytes);

intipos=str.IndexOf("

str=str.Substring(ipos+5);

ipos=str.IndexOf(">");

str=str.Substring(ipos+1);

ipos=str.IndexOf("

str=str.Substring(0,ipos);

intjpos=-1;

ipos=str.IndexOf("src=\"");

this.listBox1.Items.Clear();

Liststrlist=newList();

while(ipos!

=-1)

{

jpos=str.IndexOf("\"",ipos+5);

strlist.Add(str.Substring(ipos+5,jpos-ipos-5));

ipos=str.IndexOf("src=\"",ipos+5);

}

//开始上传图片

Listwebfilelist=newList();

WebClientmyWebClient=newWebClient();

for(inti=0;i

{

strings=strlist[i];

s=s.Replace("file:

///","");

stringfname=Encoding.UTF8.GetString(myWebClient.UploadFile(this.textBox1.Text,"POST",s));

webfilelist.Add(fname);

this.listBox1.Items.Add(fname);

}

//替换文章中的图片链接

for(inti=0;i

{

str=str.Replace(strlist[i],webfilelist[i]);

}

str=str.Replace("'","");

//复制到剪贴板

this.richTextBox1.Text=str;

Clipboard.SetText(str);

}

else

{

MessageBox.Show("剪贴板中没有发现HTML资源。

");

}

}

4、注意:

这个导入程序的使用必须要网站配合接收图片文件,否则无法运行。

另外,在工作过程中我发现,WORD复制到剪贴板时会提供双份的图片,WPS则提供单份的图片而且是PNG格式的。

所以我一般使用WPS来复制到剪贴板。

当然最主要的还是我的程序没有优化导致的。

现在,这个程序在我的电脑上运行良好,只用于我的网站导入WORD文档之用。

对于绝大多数人而言,这个程序无法为他工作,因为想要使用它,您还得懂点儿编程。

想要索取程序的人请与米斯唐联系:

QQ147885198,期待您对于程序的改进。

程序截图如下:

最后,程序可以改进的地方实在是太多了,它只是一个实验程序。

最近,我在想是否可以用Javascript来实现呢?

越想越觉得可行,因为最新版的浏览器都支持FileReader接口,那么我们就可以利用这个接口读取图片,并把它编码上传到服务器,不就和刚才的程序一样了吗?

真是一个天才的想法,等有时间时我来完成它。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1