搜档网
当前位置:搜档网 › C#在线打开编辑保存Excel文件[PageOffice]

C#在线打开编辑保存Excel文件[PageOffice]

C#在线打开编辑保存Excel文件[PageOffice]
C#在线打开编辑保存Excel文件[PageOffice]

C#在线打开编辑保存Excel文件[pageoffice] 在项目开发过程中,经常会涉及到生成Excel报表,但往往系统只能通过后台生成Excel报表并保存到服务器上,若想在系统中打开Excel文件并进行编辑保存,有些人可能就没有思路了。因此,为了实现Excel文件的在线编辑并保存,我利用了PageOffice开发平台。

以一个最简单的在线打开保存Excel文件为例,具体实现步骤如下:

第一步:请先安装PageOffice的服务器端的安装程序,之后在你的网站中根目录下添加pageoffice文件夹(在https://www.sodocs.net/doc/1911074080.html,网站的“下载中心”中可下载相应的压缩包,解压之后直接将PageOffice示例代码里的pageoffice文件夹拷贝到根目录下就可以了)。

第二步:在网站中创建动态页面Execl.aspx。在工具箱中拖动一个PageOfficeCtrl控件到页面上(PageOfficeCtrl控件位于工具箱最下方),并设置控件所在层(

)的高和宽,否则Excel文档无法正常显示。

第三步:Execl.aspx.cs后台编写代码。打开Excel文件,部分代码如下:

//设置PageOfficeCtrl控件的服务页面

PageOfficeCtrl1.ServerPage = "pageoffice/server.aspx";

// 添加自定义按钮

PageOfficeCtrl1.AddCustomToolButton("保存", "SaveFile()",1);

// 设置保存文件页面

PageOfficeCtrl1.SaveFilePage = "SaveFile.aspx";

PageOfficeCtrl1.WebOpen("doc/test.xls",

PageOffice.OpenModeType.xlsNormalEdit, "操作人姓名");//打开文档在Excel.aspx页面添加JS函数SaveFile(),如下:

function SaveFile() {

document.getElementById("PageOfficeCtrl1").WebSave();

}

第四步:在网站中创建动态页面SaveFile.aspx。在SaveFile.aspx.cs页面中添加代码,保存Excel文件到本地磁盘,代码如下:

PageOffice.FileSaver fs = new PageOffice.FileSaver();

fs.SaveToFile(Server.MapPath("doc/") + fs.FileName);

fs.Close();

如上所述,轻松简单的就完成了Excel文件的在线打开并保存。另外,通过PageOffice开发平台还可以完全通过后台代码生成自己想要的Excel表格,还可向Excel表格动态填充从数据库获得的数据,具体实现的方法和上述示例的完整代码可以参考卓正网站(https://www.sodocs.net/doc/1911074080.html,/)下载中心的示例代码。

vfp直接读取EXCEL文件示例

vfp直接读取EXCEL文件示例 vfp直接读取EXCEL文件的示例(转)。 M_File=GETFILE('xls','订单文件') IF M_File="" =MESSAGEBOX("请选择待导入的收订单文件!",0+48,"提示") RETURN ELSE IF JUSTEXT(M_FILE)#"XLS" &&获得文件扩展名 =MESSAGEBOX("您选择的不是EXCEL文档!",0+48,"提示") RETURN ENDIF ENDIF USE 图书订单表 ZAP myexcel=createobject('excel.application') &&创建一个对象 myexcel.visible=.f.&&不可见 bookexcel=myexcel.workbooks.open(M_File) &&打开指定文件 o_SheetName=https://www.sodocs.net/doc/1911074080.html,&&获取当前激活工作表的名称UsedRange =bookexcel.worksheets(o_SheetName).UsedRange&&返回工作表中可使用的区域,UsedRange表的属性 o_rows=UsedRange.rows.count&&汇总行 o_cols=UsedRange.columns.count&&汇总列 IF o_rows<=1 =MESSAGEBOX("待导入数据行数太少,请检查!",0+16,"提示") ELSE FOR i=2 TO o_rows m1=myexcel.cells(i,1).value &&书号 m2=myexcel.cells(i,2).value &&书名 m3=myexcel.cells(i,3).value &&出版社 m4=myexcel.cells(i,4).value &&作者 m5=myexcel.cells(i,5).value &&定价 m6=myexcel.cells(i,6).value &&数量 APPEND BLANK REPLACE 书号WITH m1,书名WITH m2,出版社WITH m3,作者WITH m4,定价WITH m5,数量WITH m6 ENDFOR ENDIF myexcel.workbooks.close&&关闭工作区 myexcel.quit&&关闭excel brow

在VFP中直接来控制Excel

Example: SET DEFAULT TO c:\ clear oleapp=createobject("excel.application") oleapp.visible=.t. && 显示Excel oleapp.workbooks.add **设单元格的值(报表标题): oleapp.cells(1,1).value="aaa" oleapp.cells(1,2).value="bbb" oleapp.cells(1,3).value="ccc" oleapp.cells(1,4).value="ddd" oleapp.cells(1,5).value="eee" **打开表并取得记录数 USE c:\bank\data\zyb.dbf SHARED jl=reccount()-1 &&记录数 **将表中的记录数据放到Excel工作簿的单元格中 for i=0 to jl go i+1 &&第i+1条记录 oleapp.cells(2+i,1).value=zyb.bh oleapp.cells(2+i,2).value=zyb.xm oleapp.cells(2+i,3).value=zyb.kl oleapp.cells(2+i,4).value=1+1 endfor oleapp.activeworkbook.saveas("C:\Documents and Settings\Administrator\桌面\KL.xls") * oleapp.activeworkbook.saveas(?) ********************************************************* 利用VFP进行处理数据,而利用Excel的预览打印功能进行报表打印。这就需要我们在VFP中直接来控制Excel。下面就在开发VFP应用项目时对Excel的控制作一下介绍: 1.创建Excel对象 eole=CREATEOBJECT(′Excel.application′) 2.添加新工作簿 eole.Workbooks.add 3.设置第3个工作表为激活工作表 eole.Worksheets(″sheet3″).Activate 4.打开指定工作簿 eole.Workbooks.Open(″c:\temp\ll.x ls″) 5.显示Excel窗口 eole.visible=.t. 6.更改Excel标题栏 eole.Caption=″VFP应用程序调用Microsoft Excel″ 7.给单元格赋值 eole.cells(1,4).value=XM(XM为数据库字段名) 8.设置指定列的宽度(单位:字符个数)

从SQL Server中导入导出Excel的基本方法

从sql server中导入/导出excel 的基本方法 /*=========== 导入/导出excel 的基本方法===========*/ 从excel文档中,导入数据到sql数据库中,很简单,直接用下面的语句: /*=============================================*/ --假如接受数据导入的表已存在 insert into 表select * from openrowset(microsoft.jet.oledb.4.0 ,excel 5.0;hdr=yes;database=c:test.xls,sheet1$) --假如导入数据并生成表 select * into 表from openrowset(microsoft.jet.oledb.4.0 ,excel 5.0;hdr=yes;database=c:test.xls,sheet1$) /*===========================================*/ --假如从sql数据库中,导出数据到excel,假如excel文档已存在,而且已按照要接收的数据创建好表头,就能够简单的用: insert into openrowset(microsoft.jet.oledb.4.0 ,excel 5.0;hdr=yes;database=c:test.xls,sheet1$) select * from 表 --假如excel文档不存在,也能够用bcp来导成类excel的文档,注意大小写: --导出表的情况 exec master..xp_cmdshell bcp 数据库名.dbo.表名out "c:test.xls" /c -/s"服务器名" /u"用户名" -p"密码" --导出查询的情况 exec master..xp_cmdshell bcp "select au_fname, au_lname from pubs..authors order by au_lname" queryout "c:test.xls" /c -/s"服务器名" /u"用户名" -p"密码" /*--说明: c:test.xls 为导入/导出的excel文档名. sheet1$ 为excel文档的工作表名,一般要加上$才能正常使用. --*/ --上面已说过,用bcp导出的是类excel文档,其实质为文本文档, --要导出真正的excel文档.就用下面的方法

从VFP中导出数据的几种方法

从VFP中导出数据的几种方法 出处:网络 当VFP处理好数据后,这时你可以用多种方法将这些数据导出,以便被其它应用程序(如Excel等)所用。下面向你简单介绍几种导出数据的方法: 1.用“导出数据”对话框。你可以从VFP主菜单中选择“文件/导出…”打开“导出”对话框,在该对话框中的“来源”框中输入表名(c:vfpstudents.dbf),在“类型”中指定要导出数据的类型(Microsoft Excel),在“到”框中输入导出的路径和文件名(C:excelaa.xls),然后按“确定”即可。这时你如果查看command窗口,可发现以下代码: COPY TO C:excelaa.XLS TYPE XL5 2.用COPY TO命令。COPY TO命令的工作对象是VFP中的表,它要依据“TYPE”项才知道要产生哪一类导出文件。对于上面的导出过程,可用以下方法实现:USE students COPY TO C:excelaa.XLS TYPE XL5 3.用SET ALTERNATE TO写入ASCⅡ文件。用该命令可以把屏幕上的内容导出,导向一个文件,下面例子可以将系统状态输入到status.txt文件中: SET ALTERNATE TO status.txt SET ALTERNATE ON SET CONSOLE OFF ?“系统状态”+DTOC(DATE())+“@”+TIME() LIST STATUS SET ALTERNATE OFF SET CONSOLE ON 4.用SET PRINTER TO命令。用该命令可把打印输出到文本文件中: SET PRINTER TO hello.txt SET PRINT ON ???CHR(27)+“广大计算机爱好者” ??“你们好!” ?“祝你们新年快乐” SET PRINT OFF 5.用REPORT FORM TO FILE命令。运行报表的REPORT命令有许多选项,把报表输出保存到文件中的方法为: REPORT FORM(报表名)TO FILE(文件名)

VFP数据导出到EXCEL技术

VFP数据导出到EXCEL技术 VFP数据导出到EXCEL技术 我们都知道在EXCEL 中有很多很多的计算公式、灵活多变的计算方式、方便快捷的图表处理、和功能强大的VBA 语言,可以说EXCEL 可能是最好用的表格处理软件。我敢说:微软的产品中大概就EXCEL 最好! 但是,怎样用Foxpro 快速产生统计表,并将数据送到Excel 表格中,从而代替Foxpro 的报表工具呢? 我们大家都知道,在Visual Foxpro 3.0及以后版本中提供了一个调用Ole Automation 的函数CREATEOBJECT,用该函数可以让Visual Foxpro 很方便的和其它可以提供Ole Automation 服务的程序进行通讯。而Excel 更是一个标准的Ole Automation 服务器程序,我们可以在前端将数据传送到后端的Excel 服务程序,用后端服务程序进行表格处理,从而弥补Visual Foxpro的不足。由于历史原因,我们作报表都习惯用Total、Count、Sum 或者直接在报表中工具中计算,速度最快的大概也就是Total 了,但不知道还有多少人还在坚持使用Total 命令进行计算,有没有更好的计算方法呢?当然有啦!我在实际使用中积累有一定的经验但愿能给各位起到小小的启发。 假设有一表:Table1 是一个人员档案,里面的表结构如下:

-----字段名--类型及长度---------编号C,2 部门C,10 姓名C,10 性别C,2 出生日期 D 职务C,10 文化程度C,10 内容大概如下 TABLE1.DBF ------------------------- --------编号部门姓名性别出生日期职务 文化程度---------------------------------1 工程部张三男1971-01-11 工程师大学本科 2 销售部李四男1967-02-23 经理大学本科 3 工程部王武1954-03-14 技术员大学专科4 总经理室赵洁雅女1975-04-05 秘书硕士研究生5 销售部..1977-05-09 销售经理高中 6 工程部大文 1969-03-30 总工程师大学专科7 销售部..1961-10-10 销售经理大学专科8 总经理室庄稼1961-10-10 总经理大学专科当然实际的数据应该比这里多很多,要不还用统计干吗,我不过是举例说明而已。我不知道你们在使用SQL

VFP数据导出到EXCEL技术.

VFP数据导出到EXCEL技术 我们都知道在 EXCEL 中有很多很多的计算公式、灵活多变的计算方式、方便快捷的图表处理、和功能强大的VBA 语言,可以说 EXCEL 可能是最好用的表格处理软件。我敢说:微软的产品中大概就 EXCEL 最好! 但是,怎样用 Foxpro 快速产生统计表,并将数据送到 Excel表格中,从而代替 Foxpro 的报表工具呢? 我们大家都知道,在 Visual Foxpro 3.0及以后版本中提供了一个调用Ole Automation 的函数 CREATEOBJECT,用该函数可以让 Visual Foxpro 很方便的和其它可以提供 Ole Automation 服务的程序进行通讯。而 Excel 更是一个标准的 Ole Automation 服务器程序,我们可以在前端将数据传送到后端的 Excel 服务程序,用后端服务程序进行表格处理,从而弥补 Visual Foxpro的不足。 由于历史原因,我们作报表都习惯用 Total、Count、Sum 或者直接在报表中工具中计算,速度最快的大概也就是 Total 了,但不知道还有多少人还在坚持使用 Total 命令进行计算,有没有更好的计算方法呢?当然有啦!我在实际使用中积累有一定的经验但愿能给各位起到小小的启发。 假设有一表:Table1 是一个人员档案,里面的表结构如下: -----字段名--类型及长度--------- 编号C,2 部门C,10 姓名C,10 性别C,2 出生日期 D 职务C,10 文化程度C,10 内容大概如下 TABLE1.DBF --------------------------------- 编号部门姓名性别出生日期职务文化程度 --------------------------------- 1 工程部张三男1971-01-11 工程师大学本科 2 销售部李四男1967-02-2 3 经理大学本科 3 工程部王武1954-03-1 4 技术员大学专科 4 总经理室赵洁雅女1975-04-0 5 秘书硕士研究生 5 销售部..1977-05-09 销售经理高中 6 工程部大文1969-03-30 总工程师大学专科 7 销售部..1961-10-10 销售经理大学专科 8 总经理室庄稼1961-10-10 总经理大学专科 当然实际的数据应该比这里多很多,要不还用统计干吗,我不过是举例说明而已。我不知道你们在使用 SQL 语句时有没有用使用函数的习惯,反正我是相

VFP全面控制EXCEL(完全版)

1.创建Excel对象 oExcel=Createobject("Excel.application") 2.添加新工作簿 oExcel.Workbooks.Add 3.设置第3个工作表为激活工作表 oExcel.Worksheets("sheet3").Activate 4.打开指定工作簿 oExcel.Workbooks.Open("c:\temp\ll.xls") 5.显示Excel窗口 oExcel.Visible=.T. 6.更改Excel标题栏 oExcel.Caption="VFP应用程序调用Microsoft Excel" 7.给单元格赋值 oExcel.cells(1,4).Value=XM(XM为数据库字段名) 8.设置指定列的宽度(单位:字符个数) oExcel.ActiveSheet.Columns(1).ColumnWidth=5 9.设置指定行的高度(单位:磅) oExcel.ActiveSheet.Rows(1).RowHeight=1&&(设定行高为1磅,1磅=0.035厘米) oExcel.ActiveSheet.Rows("50:100").RowHeight=1 &&设置第50行至100行的高度 10.在第18行之前插入分页符 oExcel.Worksheets("Sheet1").Rows(18).PageBreak=1 11.在第4列之前删除分页符 oExcel.ActiveSheet.Columns(4).PageBreak=0 12.指定边框线宽度(Borders参数如下) ole.ActiveSheet.Range("b3:d3").BorderS(2).Weight=3 13.设置四个边框线条的类型 oExcel.ActiveSheet.Range("b3:d3").BorderS(2).LineStyle=1 (其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线) 14.设置页眉 oExcel.ActiveSheet.PageSetup.CenterHeader="报表1" 15.设置页眉(字体大小) oExcel.ActiveSheet.PageSetup.CenterHeader="&50报表1" &&'&'后面的50可以自定义,表示字体的大小 16.设置页脚 oExcel.ActiveSheet.PageSetup.CenterFooter="第&P页" 17.设置页脚(字体大小) oExcel.ActiveSheet.PageSetup.CenterFooter="&28第&P页" &&'&'后面的28可以自定义,表示字体的大小 18.设置页眉到顶端边距为2厘米 oExcel.ActiveSheet.PageSetup.HeaderMargin=2/0.035 19.设置页脚到底边距为3厘米 oExcel.ActiveSheet.PageSetup.FooterMargin=3/0.035

Foxpro 导入文件报错:无效的 Microsoft Excel 文件格式

Foxpro 导入文件报错:"无效的Microsoft Excel 文件格式" 症状:将一个 Microsoft Excel 版本 5.0 文件导入 FoxPro 时出现"无效的 Microsoft Excel 文件格式"错误信息。 症状拓展:如果使用的是 FoxPro 2.0 ,导入 Microsoft Excel 3.0 ,4.0 或 5.0 文件设置格式,则会收到错误信息"无效的 Excel 版本 2.0 文件"。 直接原因:FoxPro 2.0 仅可以导入 Microsoft Excel 2.0 文件。 FoxPro 2.5 for MS-DOS、Windows 和 Macintosh 可以导入 Microsoft Excel 2.0、 3.0 和 4.0 格式中的文件。 溯源:FoxPro 2.5 后,才发布 for MS-DOS 和 Windows 的开发。 FoxPro for Macintosh 是大约同时为 Microsoft Excel 5.0 for Windows 开发的。因此,支持导入 Microsoft Excel 5.0 格式的文件没有内置FoxPro 2.5。 Microsoft 已经确认这是Microsoft 产品中存在的问题并正在研究此问题,当它变得可用时,将发布新的信息的 Microsoft 知识库。 解决方案:要直接导入 Microsoft Excel 5.0 工作表,必须在 Microsoft Excel 中执行变通办法。这些变通办法有:保存 Microsoft Excel 5.0 文件作为一个 Microsoft Excel 4.0、3.0 或 2.0 格式的文件,再执行导入操作。或者将 Microsoft Excel 5.0 文件保存为一个DBF 格式文件。(要点:以 DBF3 文件格式保存;此外,Microsoft Excel 3.0、 4.0 和5.0 可以以 DBF4 文件格式保存文件。)FoxPro 可以打开这些两种文件格式之一。 参考文献: FoxPro for MS-DOS 和 Windows 语言参考,版本 2.5,页 L3-569 和 L3-570 FoxPro for Macintosh 语言参考,版本 2.5,页 468-469 Microsoft Excel 用户指南 1,版本 4.0、 60、 306 和 307 页

VF中控制EXCEL的常用操作

VF中控制EXCEL的常用操作 myexcel=createobject('excel.application') &&创建一个对象 myexcel.visible=.t.&&可见 &&bookexcel=myexcel.workbooks.add bookexcel=myexcel.workbooks.open("C:\Documents and Settings\Administrator\桌面\学习\dd.xls") &&打开指定文件 nrows=bookexcel.worksheets('sheet1')&&打开工作表 UsedRange =https://www.sodocs.net/doc/1911074080.html,edRange&&返回工作表中可使用的区域,UsedRange表的属性 usedrange.columns.count&&计算共几列 r=usedrange.rows.count&&汇总行 c=usedrange.columns.count&&汇总列 with myexcel.application .sheets('sheet3').select .sheets.add&&添加一个工作表 https://www.sodocs.net/doc/1911074080.html, = 'ddddd'&&重命名表 endwith myexcel.Worksheets('sheet1').Activate&&选择表为当前工作表 myexcel.cells(1,1).value='sss'&&1,1处的值为 myexcel.activesheet.columns(2).columnwidth=15&&第2列的列宽设myexcel.activesheet.rows(2).rowheight=50&&设第2行的行高 myexcel.activesheet.rows(2).insert&&第2行前插入一行 myexcel.activesheet.columns(2).insert&&第2列前插入一列 myexcel.activesheet.Cells(1,1).Font.size=25&&设置1,1的字体大小myexcel.activesheet.Cells(1,1)https://www.sodocs.net/doc/1911074080.html,='黑体'&&设置字体 myexcel.activesheet.Cells(1,1).clear&&清除内容 myexcel.activesheet.range('A1:C2').select&&选择区域 myexcel.selection.merge &&选择区域合并单元格 myexcel.Range('a1').Formula='=sum(b2,b3,b4,b5)'&&在A1中键入一个公式 myexcel.range('a1').ClearContents myexcel.activesheet.Columns('A:B').Select&&整列选中 myexcel.Selection.NumberFormatLocal="@" &&设置选中的区域为字符型数据 myexcel.activesheet.rows(1).select myexcel.Selection.EntireRow.Delete&&删除选中的行 myexcel.Selection.columns(1).Delete&&删除第几的列 myexcel.workbooks.close&&关闭工作区

从Excel表转移数据到VFP表的编程实现方法

从Excel表转移数据到VFP表的编程实现方法 高进龙,崔尚森,王文林 (长安大学,陕西西安710054) 摘要:把整个一个Excel表数据转换为VFP表并不难,难就难在把Excel表中某些行某些列的数据转移到已有数据的某个VFP表中,而且可能还会遇到两表间相应数据列的名称、数据类型、排列顺序不同的问题。作者用VFP编程,轻松实现了这一数据转移工作。本文将就这一程序的设计思想和实现方法做简要介绍。 关键词:Excel表,VFP表,转移数据,编程实现 作者简介:高进龙(1964-),男,陕西华阴市人,长安大学地测学院教务办公室主任,讲师。 一、问题的提出 VFP(Visual Foxpro)是一种关系型数据库管理系统,其强大的数据处理能力及其面向对象的编程能力,使其得到数据库应用程序开发人员的广泛使用。而Excel则是一个优秀的电子表格处理软件,在兼容性、操作界面、公式运算、图表表现等方面有着独到的优势,成为广大办公应用人员常用的工具。因为两种软件各有短长,所以在实际应用 中常会遇到两者之间数据的 转移问题。 把整个VFP表转换为 Excel表或者把整个Excel表 转换为VFP表的工作,两种 软件都提供了相应的转换功 能,一般用户很容易操作。但 是把Excel表中部分数据转移 到已存在的VFP表中的情况 就要复杂得多。两种表的数据 转移可能存在以下三个方面 的问题:一是Excel表中可能 存在某些行的数据不需要或 不能被转移,需要转移或者可 以转移的仅是其中较规范的 某些行;二是Excel表并非所 有列的数据,而只是某些列的数据需要被转移到VFP表的相应数据列中,两表中相应列的名称和顺序可能不一致;三是Excel表中与VFP表对应数据列的数据类型可能不一致。因此,对业已存在的这两类数据表间数据转移工作,用手工完成非常麻烦和费时。 在工作实践中,作者运用VFP编程驱动Excel的能力,设计完成了从Excel到VFP的数据转移程序,成功地解决了这一问题。 二、设计思路 综合考虑上述三个问题,程序设计宜采用 的方法是把Excel表中数据按单元格逐一转移到VFP表中,所以,需要完成下列三项任务: (1)建立Excel表中要转移数据的列与VFP表中要接受数据的字段之间一一对应的 关系,这项工作等于给两表之间的数据转移牵图1程序构件展示

VFP控制EXCEL的方法(终于找到了)

VFP控制EXCEL的常用方法 oExl=CREATEOBJECT('Excel.application') oExl.Visible=.T. oExl.DefaultSaveFormat=39 oExl.SheetsInNewWorkbook=1 oExl.Workbooks.Open(cXLS) oExl.WindowState=-4140 &&窗口最小化 oExl.WindowState=-4143 &&窗口正常化 oExl.WindowState=-4147 &&窗口最大化 *------------------------------------------------------* &&页面设置 oExl.ActiveSheet.PageSetup.PrintTitleRows="$1:$3" &&打印标题 oExl.ActiveSheet.PageSetup.Orientation=2 &&页面方向:1纵向/2横向 *oExl.ActiveSheet.PageSetup.PaperSize=11 &&纸张尺寸:9-A4/11-A5 oExl.ActiveSheet.PageSetup.TopMargin=0.8/0.035 &&顶边距 oExl.ActiveSheet.PageSetup.BottomMargin=0.8/0.035 &&底边距 oExl.ActiveSheet.PageSetup.LeftMargin=0 &&左边距 oExl.ActiveSheet.PageSetup.RightMargin=0 &&右边距 oExl.ActiveSheet.PageSetup.CenterHorizontally=.T. &&页面居中 oExl.ActiveSheet.PageSetup.HeaderMargin=0.5/0.035 oExl.ActiveSheet.PageSetup.FooterMargin=0.5/0.035 oExl.ActiveSheet.PageSetup.LeftHeader="&9表格"”9是字号” oExl.ActiveSheet.PageSetup.CenterHeader="" oExl.ActiveSheet.PageSetup.RightHeader="&9" oExl.ActiveSheet.PageSetup.LeftFooter="" oExl.ActiveSheet.PageSetup.CenterFooter="&9第&P页,共&N页" oExl.ActiveSheet.PageSetup.RightFooter="&9制表人:'+代码+' 制表时间:"+TTOC(DATETIME()) *------------------------------------------------------* &&整体格式设置 oExl.ActiveSheet.Rows.Font.Size=9 https://www.sodocs.net/doc/1911074080.html,='宋体' oExl.ActiveSheet.Rows.RowHeight=0.5/0.035 oExl.ActiveSheet.Rows.NumberFormatLocal="0.00_ ;[红色]-0.00" oExl.ActiveSheet.Rows.VerticalAlignment=2 &&单元格内容垂直居中 *------------------------------------------------------* &&获取最大行号和最大列号 Local nMaxRow,nMaxCol nMaxRow=https://www.sodocs.net/doc/1911074080.html,edRange.Rows.Count nMaxCol=https://www.sodocs.net/doc/1911074080.html,edRange.Columns.Count &&表头格式设置 oExl.ActiveSheet.Rows(1).Font.Size=16

VFP实现EXCEL数据转换

Visual FoxPro是应用广泛的前台数据库开发平台之一,因此在我们日常工作中时常会遇到DBF数据文件。然而随着办公自动化的普及,越来越多的时候需要将DBF文件转化为Excel 电子文档。常用转化方法是在FoxPro中用Copy命令进行格式转化或直接用Excel打开DBF 文件。这两种方式虽然都能达到目的,却不能得到格式规范、可以直接打印输出的报表,且输出的Excel文件中,无法对数据类型进行有效转换,极易出现数据统计错误。有没有更好的方法呢?这里有一个更加通用的方法,在VFP中调用Excel,可以由DBF文件直接生成格式如下图所示一样复杂的Excel报表(如图1)。 具体过程如下: 假设我们要将表Agcallop.dbf文件输出为Excel格式文档,报表形如图1所示。为使通用性更强,页面采用A4纸横向输出,默认字体为宋体10号,页脚处添加页号。 部分程序代码如下: m.outfilename=putfile('输出结果','agcallop','xls') &&取导出文件名称 图1 Excel报表 ef=CREA TEOBJECT('Excel.application') &&调用Excel程序 ef.Workbooks.add &&添加工作簿 ef.Worksheets("sheet1").Activate &&激活第一个工作表 ef.visible=.t. &&显示Excel界面 ef.Cells.Select &&选择整张表 ef.Selection.Font.Size = 10

&&设置整表默认字体大小为10 select 0 use agcallop &&选择被导出的表 num=reccount() &&求导出总记录数 go top i=5 ef.range("F1:K1").Select &&选择标题栏所在单元格 ef.Selection.Merge &&合并单元格 with ef.range("F1 ") &&设置标题及字体属性 .value='客户服务部业务代表工作量情况统计表' https://www.sodocs.net/doc/1911074080.html,="黑体" .Font.size=18 endwith ef.Rows(2).RowHeight=1/0.035 &&设置第二行高度为1cm ef.range("H2:O2").Select &&选定统计条件栏所在单元格

把Excel制作的批量数据倒入Vf6数据库中的方法

把Excel制作的批量数据导入到 VF6数据库中的方法 在数据管理中往往需要用到专门的数据库管理软件,使用专门的数据管理软件常常需要逐项录入。为了提高录入效率,我们可以借用Excel输入数据,再导入到相应的数据库文件中去,生成数据库文件。 如果对数据库文件没有什么特别要求,我们可以直接用Excel另存为dbf文件,供给数据库程序使用。大多数情况下上级部门下发的数据库,往往对数据库中字段的类型有些特定的要求,比如字符类型,字符位数等等,这时候我们需要另存成数据库文件之后需要进入表设计器,重新修改数据类型,字符位数等等,使之符合要求。 下面就介绍一下,在导入过程中需要注意的一些问题,。 如果想把日期导入到数据库中去,首先要保证在Excel中日日期这一列的格式符合相应的要求,例如参见下图 可以在设置单元格格式对话框中制定相应的格式类型如下图,

如果日期格式的样式不符合需求,可以在后期导入过程中指定相应的日期格式。如果在这里不指定日期格式,只是按文本设置,后期导入过程中可能会出现日期数值不显示。

在导入数据库的过程中,VF6对以文本形式存储的数字是区别对待的,我们注意观察下列数据中数据的区别,有些以文本形式存储的数字左上角有一个绿色的小三角,有些则没有这个绿色的小三角形,左上角有绿色小三角形的数字,它可以正常识别为文本,对于左上角没有绿色小三角的数字,它也可以识别为文本,但是它会在它前面加上默认的空格,然而在VF6数据库中却并不显示这些空格,如果数据库,对数据列的位数有要求,就会导致显示不正常,导入数据后如果修改数据列的位数符合要求,则会导致丢失后面几位数字,所以在Excel输入中要尽可能保证输入的左上角有这个小绿色的三角形。

VFP 导出到Excel 程序代码

VFP 导出到Excel 程序代码 首先, 我们新建一个表单, 命名为daochu.scx。在表单上添加 一个命令按钮, 并将其Caption 属性设置为“导出”。运行该表单 时, 单击导出, 用户可以选择需要导出的dbf 文件, 成功导出成Excel 文件并保存。“导出”命令按钮的Click 事件的代码设置[2]为: cDbfFile = GETFILE("dbf") IF EMPTY(cDbfFile) RETURN ENDIF USE (cDbfFile) ALIAS FoxTable IN 0 && 打开所选则的表并 定义别名为FoxTable IF NOT USED("FoxTable") =MESSAGEBOX("打开表失败, 程序将中止! ", 16, "Error") RETURN ENDIF cExcelFile = PUTFILE("保存为(&N):",JUSTSTEM(cDbfFile)+". xls","xls") && 激活“另存为?”对话框, 设置默认保存文件名。 IF EMPTY(cExcelFile) CLOSE DATABASES ALL RETURN ENDIF SELECT FoxTable oExcelSheet = GETOBJECT("","Excel.Sheet") && 产生Excel 对象 IF NOT TYPE("oExcelSheet") = "O" && 如果oExcelsheet 不 是对象型函数 =MESSAGEBOX ("Excel 对象创建失败, 程序将中止! ",16," Error") RETURN ENDIF oExcelApp = oExcelSheet.Application oExcelApp.Workbooks.Add() && 添加新工作簿 oExcelApp.ActiveWindow.WindowState=2 oSheet = oExcelApp.ActiveSheet nFldCount = AFIELDS(aFldList, "FoxTable") &&把当前表的结构信息存放在一个数组中, 并且返回表的 字段数。 FOR i = 1 TO nFldCount oSheet.Cells(1,i).Value = aFldList[i,1] && 将表字段名复制到对应的单元格中 ENDFOR cRecc = STR(RECCOUNT("FoxTable")) && 返回当前表的记 录数目

经典三种C#导入导出到EXCEL的方法(C#开发人员必备)

C#导入导出EXCEL ------------阿秋笔记add by 2011-3-24 注:本文中的所有案例全部测试通过,请放心使用!三大功能: 1,导入:把EXCEL文件导入到对应的数据库表中 2,导出:(1)把HTML页面直接导出到EXCEL;(2)把DataTable对象导出到EXCEL 环境:VS2005 + SQL SERVER 2005 Language:C# 1,导入 步骤:上传EXCEL文件,保存到服务器某一个文件夹下,然后解析的DataTable中,在分解插入到数据库表中 实现代码: (1)前台,Default.aspx 放入一个上传控件FileUpload + 按钮控件Button 代码: (2)后台Default.asp.cs 代码: -----按钮单击事件btnUpload_Click protected void btnUpload_Click(object sender, EventArgs e) { if (this.FU.PostedFile == null || this.FU.PostedFile.FileName == "") //判断是否选择上载文件 { this.RegisterStartupScript("1","alert('请选择上传的数据文件!');"); return; } string m_ExtName = Path.GetExtension(TrimHtml(Path.GetFileName(this.FU.PostedFile.FileName))).ToLower(); if ((m_ExtName.Replace(".", "") != "xls")) { this.RegisterStartupScript("2","alert('请上传Execl类型文件!');"); return; } string newname = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + m_ExtName; FU.PostedFile.SaveAs(Server.MapPath("~/xx/"+newname)); string fPath = Request.PhysicalApplicationPath + "xx/" + newname; fPath = fPath.Replace("\\", "/"); DataTable dt = ExcelToDS(fPath, "LAWUSER");

vfp读取EXCEL文件数据

vfp直接读取EXCEL文件 vfp直接读取EXCEL文件的示例(转)。 M_File=GETFILE('xls','订单文件') IF M_File="" =MESSAGEBOX("请选择待导入的收订单文件!",0+48,"提示") RETURN ELSE IF JUSTEXT(M_FILE)#"XLS" &&获得文件扩展名 =MESSAGEBOX("您选择的不是EXCEL文档!",0+48,"提示") RETURN ENDIF ENDIF USE 图书订单表 ZAP myexcel=createobject('excel.application') &&创建一个对象 myexcel.visible=.f.&&不可见 bookexcel=myexcel.workbooks.open(M_File) &&打开指定文件 o_SheetName=https://www.sodocs.net/doc/1911074080.html, &&获取当前激活工作表的名称UsedRange =bookexcel.worksheets(o_SheetName).UsedRange &&返回工作表中可使用的区域,UsedRange表的属性 o_rows=UsedRange.rows.count &&汇总行 o_cols=UsedRange.columns.count &&汇总列 IF o_rows<=1 =MESSAGEBOX("待导入数据行数太少,请检查!",0+16,"提示") ELSE FOR i=2 TO o_rows m1=myexcel.cells(i,1).value &&书号 m2=myexcel.cells(i,2).value &&书名 m3=myexcel.cells(i,3).value &&出版社

excel如何导入到VFP中

Visual FoxPro 6.0中文版命令手册 excel如何导入到VFP中 比如EXCEL的文件名是 t001 怎么做才能导入到VFP中啊! import from dd.xls type xls use dd copy to d:\newdd IMPORT不能指定新生成表的存放路径,一般会自动保存到默认目录下。用以下语句可以实现你的要求: IMPORT FROM t001.xls type xl8 &&导入t001.xls并(在默认目录下)生成t001.dbf文件copy to d:\t001 &&复制文件到D盘 Use &&关闭t001表 DELETE FILE t001.dbf &&删除(在默认目录下的)t001.dbf文件 使用import命令,如: IMPORT FROM 表1.xls TYPE xl8 将表1.xls导入为表1.dbf --------------------------------------------------------------- 用VFP导入 点击“文件”->导入-> 类型选择:“Microsoft Excel 5.0 和 97 (XLS)” 来源于选择:你要导入的Excel文件 工作表:默认为Sheet1,如是你要把Excel文件中Sheet2中内容导过来,就选择“Sheet2”->最后点击导入即可。 ****************************************************************** *如果导入时出现提示:致命错误:异常代码=C0000005 *可以把Microsoft Excel 在保存时存为Microsoft Excel 5.0/95 格式或4.0格式。这样就能导入了。 ****************************************************************** 以上操作相当于如下命令操作: IMPORT FROM 你的表.xls TYPE XL8 SHEET "Sheet2" 有时需要把Excel表另存为“Microsoft Excel 5.0 和 97 (XLS)”格式后,再用以上命令进行导入。 如果VFP表已存在,并且EXCEL表格式与VFP表格式一样,也可以用以下: use VFP表名 APPEND FROM Excel表.xls TYPE xl5

相关主题