导出文件

2024-07-08

导出文件(精选4篇)

导出文件 篇1

VB是一种可视化的、面向对象的,采用事件驱动方式的结构化高级程序设计语言,可以用它来进行Windows操作系统下各类应用程序的编写。VB在文件管理的用户界面以及一般应用程序的设计等方面也有相当好的应用表现,具有其它开发环境不能取代的优越之处。

如果计算机上的文件较多,存放不合理,导致同一个文件在不同的分区都有存档,可以将计算机上的文件路径提取出来。通过编写VB程序可以很方便地将文件路径信息导出到Excel,再通过Excel的筛选功能找出文件。

1 界面设计

首先,从“工程”菜单中的“引用”对话框中选择“Microsoft Excel 11.0 Object Library”,然后从工具箱中添加控件到窗体中。

控件清单如表1。

设置Form1.Caption="提取文件目录到Excel",Command1.Caption="查找",Command2.Caption="导出到Excel",Command3.Caption="退出"

以查找C盘*.exe文件为例,程序运行界面如图1。

2 程序代码

2.1 查找文件路径的Search过程

查找过程需要用到Dir函数,从MSDN可以查到Dir函数格式如下:

Dir[(pathname[,attributes])],其中若attributes为VbDirectory或

16时,指定返回无属性文件及其路径和文件夹名称。

'Getattr(pathname)函数返回一个整数,当返回值为16时即为vbDirectory,判断是否目录或文件夹。

2.2 导出到Excel

通过Excel对象的Cells方法向Excel表格中写入数据信息,一次可以将数据传输到worksheet一个单元格中,实现文件目录信息的输出。

2.3 其它代码

运行程序,选择要导出的文件所在路径,单击“导出到Excel”按钮,将文件信息导出到Excel。

导出界面如图2。

从运行结果可以看出,程序能够良好的运行,能快速搜索出文件并导出文件路径到Excel中。

3 结束语

本文利用VB6.0这一强大的计算机语言工具,实现了对某一特定类型文件的查找;通过对Excel对象的引用,把查找的文件路径导出到Excel中,从而加快了文件的搜索速度,还可根据实际需要再添加其他的功能。

摘要:电脑硬盘容量的增加,共享文件资源的增多,导致储存的文件也越来越多。要找出其中的某一类型文件需要不少时间。利用VB6.0开发工具和Excel对象的引用,编写了切实可行的导出文件路径的程序。

关键词:VB,文件,Excel

参考文献

[1]陈婷,许超俊.用VB实现文件查找的几种方法[J].郧阳师范高等专科学校学报,2005(6):33-35.

[2]孙延国.探讨通过VB向EXCEL传输数据的方法[J].华南金融电脑,2004(11):40-42.

[3]刘东.VB控制生成Excel报表[J].宜宾学院学报,2005(12):73-75.

导出文件 篇2

在进行Excel文件导出时,传统的方法一般都是利用Exce程序自身能够识别网页中的表格内容这种特性来实现的。当Web服务程序在响应客户端浏览请求时,先输出MIME类型,然后输出表格等HTML内容。比如(以C#代码为例):

其中Grid View1为Web服务端的Grid View控件的ID。利用此方法的前提是需要重载Verify Rendering In Server Form函数,取消其函数内容。

通过这种方法,可以将Web页面中的表格内容以HTML代码的方式输出到客户端浏览器,并提示保存名为test.xls的Exce文件。用记事本打开该文件,会发现其内容是HTML标记的网页文件,并非真正的二进制Excel文件。

2 Excel文件导出的其他几种可行方法

想要导出真正的二进制Excel文件,一是可以利用Excel应用程序对象创建Excel文件,然后输出二进制流到客户端浏览器进行保存;二是可以利用第三方的Excel类库,比如My Xl S、Koogra和NPOI等,直接生成二进制的Excel文件,然后输出二进制流到客户端浏览器进行保存。

利用Excel程序对象创建Excel文件首先要添加Microsoft Office.Interop.Excel引用,并在代码中添加引用using Microsoft Office.Interop.Excel,然后新建一个Application Class实例,通过Excel应用程序实例进行相关的Excel文件操作,将创建的临时Excel文件读到内存流中,然后以二进制方式输出,并在最后将此实例释放。

使用Excel应用程序对象创建Excel文件,需要在服务器端安装Office,而且还需要设定权限允许.NET访问COM+,并且在服务器端会看到Excel程序窗口一闪而过,当然可以让程序窗口不显示,但是任务管理器里还是会有Excel程序的进程,如果多个用户同时请求导出Excel文件,会产生多个Excel程序的进程,消耗过多的服务器资源,可能导致服务器宕机。另外Excel程序会把只包含数字的列进行类型转换,原本是文本型的,Excel程序会将其转成数值型,比如000123会变成123。如果内容以“=”开头,Excel程序还会把它当成公式执行,然后报错等,不便于原始格式Excel的生成。

使用第三方Excel类库的优势就是不需要在服务器上安装微软的Office,避免版权问题,而且使用起来比Office PIA的API更加方便,更人性化,但几种Excel类库各有千秋。比如My Xl S是一个免费开源的类库,侧重于Excel的输出。可以设置到单个单元格,但读取功能很弱。Koogra与My Xl S恰恰相反,是一个非常好用Excel读取类库,其最新版可以支持Excel 2007格式,可是在测试过程中发现Koogra读不了My Xl S输出的XLS文件。而NPOI不仅支持导出Excel,还支持导入Excel,并能“理解”OLE2文档结构。对于Excel文件来讲,NPOI不单是能创建Excel文件,而且能更深入地执行Excel文件的各种操作,比如支持单元格的格式设置、合并单元格、对齐设置、使用边框、字体设置、背景和纹理设置、宽度和高度设置等,还能使用Excel公式、创建图形、设置打印机属性、锁定列、设置密码等多项操作。

3 利用NPOI导出Excel文件的实现

基于上述分析,我们使用NPOI类库实现Excel文件的导出。该类库是POI的.NET版本。POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office 97、Office2003版本的文件。最新的NPOI有.Net 2.0、3.5和4.0三个版本,支持Excel、Word的97、2003和2007格式。

利用NPOI实现Excel文件导出的步骤:

3.1 添加NPOI的引用

先在项目工程里引用NPOI.DLL,然后在代码开始处添加引

3.2 创建工作簿

HSSFWorkbook hssfworkbook=new HSSFWorkbook();

Sheet sheet1=hssfworkbook.Create Sheet(title);//创建标题为title内容的工作簿

3.3 设置单元格样式

3.4 合并相关单元格

3.5 单元格赋值

导出文件 篇3

早上打开一个客户传过来的CorelDRAW文件,本想按照常规操作,将CDR文件导出为JPG图像的,发现“文件——导出”菜单命令是灰色的,根本就无法导出。

也在网络上搜索了很久,想知道cdr不能导出的原因和解决方法,结果没有得到想要的答案,

最终通过一个笨办法来解决了cdr文件不能导出的问题,也算是一种没办法的办法。

由于CorelDRAW文件是客户发送过来的,具体客户在文件里面做了些什么操作,我们无法知道,只能看到最终编排的出的稿件。发现CDR导出命令不能使用,并且选中对象,填充颜色等等也是不能操作。

导出文件 篇4

1 实现功能

访问系统网站, 将所需要的人员信息批量生成Word文件并打包下载至本地PC, 要求生成的Word文件中数据均在指定的位置, 并且含有合乎大小要求的员工相片。

2 前期准备

服务器需安装Office 2003, 以便在程序中引入Microsoft.Vbe.Interop.dll;需要制作Word模板, 在模板中提前构建好人员信息表的布局, 如图1;并将其存储在服务器的指定文件夹下。在Microsoft Visual Studio 2010下创建Visual C#网站。

3 实现过程

3.1 在模板中插入书签

在先前制作的Word模板中插入书签。例如在需显示姓名的位置上插入书签, 并设置书签的ID, 如图2;在模板中姓名的显示位上置插入了ID为name的书签。

在所有需要的位置上插入书签后, 保存Word模板。

3.2 创建名为WordOp.cs的类文件

WordOp类主要用来对Word的操作, 即生成Word文件, 并且在生成的Word文件中插入指定数据的功能, 实现代码如下:

需要注意的是, 在填充书签数据时, 可以根据书签ID来判断书签的用途, 如果是用来显示照片的书签, 需要使用WordApp.ActiveDocument.Bookmarks.get_Item (ref bkmC) .Range.InlineShapes.AddPicture () 方法, 并为相片按照Word模板上需显示的大小设置高度和宽度。

3.3 将人员信息生成Word文件

获取Word模板的地址和Word模板的文件名。

string path=Server.MapPath ("当前路径") ;

string templatePath=path+"//Word模板名称";

建立WordOp类的实例。

调用WordOp类中的OpenTempelte () 方法, 把带Word模板名称的路径传给此方法。如:wop.OpenTempelte (templatePath) ;

调用WordOp类中的FillLable () 方法, 把书签ID和需要导入的数据传给此方法。如:wop.FillLable ("name", "张三") ;

如果要传图片数据, 就将图片的地址传递过去即可。

如:wop.FillLable ("PIC", "http”//…….jpg") ;

接下来调用WordOp类中的wop.SaveAs () 方法, 将已经把数据插入指定位置, 并且建立完成的Word文件命名, 存入指定的路径下。

如:wop.SaveAs (指定路劲+"Word文件名.doc", true) ;

最后调用WordOp类中的wop.Quit () 方法关闭系统对Word的调用。

如:wop.Quit () ;

这样就成功的将一份已经导入数据的Word文件建立在了指定的路径下;如果需要生成多份Word文件, 就把上述代码写在循环中即可。

3.4 将Word文件打包并下载

接下来是要将生成好的Word文件下载到本地PC机上。一般情况下, 如果下载的文件为单一文件, 都会很容易实现;然而下载文件为复数时, 一般的下载方法就不能应用了, 此时, 必须将文件进行压缩, 打包成一个RAR文件进行下载。这里需要运用WinRAR, 首先编写对WinRAR操作的方法CreateRar () 。

调用CreateRar () , 将要压缩的文件夹和文件夹压缩后的存放路径及名称作为参数, 传给此方法。

如:CreateRar (压缩文件路径) , 存放路径+"/Word.rar") ) ;

然后, 再将压缩好的Word.rar文件下载至本地PC机解压即可。最终Word文件的显示效果如图3所示。

在对批量的Word文件进行压缩时, 需要注意一点, 如果压缩文件数量过多, 系统会出现过长的命令运行时间, 有可能会误导用户, 使其产生系统功能出错或网速过慢的错觉。所以最好在系统进行压缩时, 在界面上显示等待提示, 在后台对文件压缩的时间进行判断, 用Sleep () 将系统挂起预计的时间, 这样做可大大降低系统出错的几率。

4 结尾语

由于Office办公软件被广泛使用, 所以在编写应用系统时, 很多功能都需要和Office组件进行结合开发来实现。上述内容只是针对了Office中的Word一项进行介绍, 然而还有很多种方法可以和Office中的任何功能进行结合或调用, 例如在Microsoft VisualStudio 2010中, 就专门提供了许多和Office的外接程序, 这些都需要在学习和实践中来慢慢掌握。

参考文献

[1]Asp.net下将页面内容导入到word模板中的方法[EB/OL].http://www.alixixi.com/program/a/2010111566128.shtml.

上一篇:成长的快乐下一篇:鼻部整形手术