搜档网
当前位置:搜档网 › Jxl.jar(导入导出Excel)简单运用

Jxl.jar(导入导出Excel)简单运用

Jxl.jar(导入导出Excel)简单运用
Jxl.jar(导入导出Excel)简单运用

Jxl.jar 简单运用

1.1jxl.jar 包简介

下载地址:https://www.sodocs.net/doc/2e7235629.html,/jexcelapi/

特征:

● 支持Excel 95-2000的所有版本

● 生成Excel 2000标准格式

● 支持字体、数字、日期操作

● 能够修饰单元格属性

● 支持图像和图表

最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。

1.2搭建环境

将下载后的文件解包,得到jxl.jar,放入classpath,安装就完成了。

2jxlr的基本运用

2.1创建文件

生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下:

代码(CreateXLS.java):

import java.io.*;

import jxl.*;

import jxl.write.*;

public class CreateXLS {

public static void main(String args[]) {

try {

//打开文件

WritableWorkbook book= Workbook.createWorkbook(new File(“测试.xls”));

//生成名为“第一页”的工作表,参数0表示这是第一页

WritableSheet sheet=book.createSheet(“第一页”,0);

//在Label对象的构造子中指名单元格位置是第一列第一行(0,0)

//以及单元格内容为test

Label label=new Label(0,0,”test”);

//或者WritableCell cell = new jxl.write.Number(column, row, value, wcf)

//将定义好的单元格添加到工作表中

sheet.addCell(label);

/*生成一个保存数字的单元格必须使用Number的完整包路径,否则有语法歧义单元格位置是第二列,

第一行,值为789.123*/

` jxl.write.Number number = new jxl.write.Number(1,0,789.123);

sheet.addCell(number);

//写入数据并关闭文件

book.write();

book.close();

}catch(Exception e){

System.out.println(e);

}

}

}

编译执行后,会在当前位置产生一个Excel文件。

2.2读取文件

以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下:

//读取Excel的类

import java.io.*;

import jxl.*;

public class ReadXLS {

public static void main(String args[]){

try {

Workbook book= Workbook.getWorkbook(new File(“测试.xls”));

//获得第一个工作表对象

Sheet sheet=book.getSheet(0);

//得到第一列第一行的单元格

Cell cell1=sheet.getCell(0,0);

String result=cell1.getContents();

System.out.println(result);

book.close();

}catch(Exception e) {

System.out.println(e);

}

}

}

程序执行结果:test

2.3修改文件

利用jExcelAPI可以修改已有的Excel文件,修改Excel文件的时候,除了打开文件的方式不同之外,其他操作和创建Excel是一样的。下面的例子是在已经生成的Excel文件中添加一个工作表:

//修改Excel的类,添加一个工作表

import java.io.*;

import jxl.*;

import jxl.write.*;

public class UpdateXLS {

public static void m ain(String args[]) {

try {

//Excel获得文件

Workbook wb=Workbook.getWorkbook(new File(“测试.xls”));

//打开一个文件的副本,并且指定数据写回到原文件

WritableWorkbook book=

Workbook.crea teWorkbook(new File(“测试.xls”),wb);

//添加一个工作表

WritableSheet sheet=book.createSheet(“第二页”,1);

sheet.addCell(new Label(0,0,”第二页的测试数据”));

book.write();

book.close();

}catch(Exception e) {

System.out.println(e);

}

}

}

执行结果如图:

3高级操作

3.1数据格式化

在Excel中不涉及复杂的数据类型,能够比较好的处理字串、数字和日期已经能够满足一般的应用。

3.2字串格式化

字符串的格式化涉及到的是字体、粗细、字号等元素,这些功能主要由WritableFont和WritableCellFormat类来负责。假设我们在生成一个含有字串的单元格时,使用如下语句,为方便叙述,我们为每一行命令加了编号:

WritableFont font1 = new WritableFont(WritableFont.TIMES,16,WritableFont.BOLD);

或//设置字体格式为excel支持的格式

WritableFont font3 = new WritableFont(WritableFont.createFont("楷体

_GB2312"),12,WritableFont.NO_BOLD );

①WritableCellFormat format1=new WritableCellFormat(font1); ② Label label=new Label(0,0,”data 4 test”,format1) ③ 其中①指定了字串格式:字体为TIMES,字号16,加粗显示。

WritableFont有非常丰富的构造子,供不同情况下使用,jExcelAPI的java-doc中有详细列表,这里不再列出。②处代码使用了WritableCellFormat类,这个类非常重要,通过它可以指定单元格的各种属性,后面的单元格格式化中会有更多描述。③处使用了Label类的构造子,指定了字串被赋予那种格式。在WritableCellFormat类中,还有一个很重要的方法是指定数据的对齐方式,比如针对我们上面的实例,可以指定:

//把水平对齐方式指定为居中

format1.setAlignment(jxl.format.Alignment.CENTRE);

//把垂直对齐方式指定为居中

format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);

//设置自动换行

format1.setWrap(true);

3.3单元格操作

Excel中很重要的一部分是对单元格的操作,比如行高、列宽、单元格合并等,所幸jExcelAPI 提供了这些支持。这些操作相对比较简单,下面只介绍一下相关的API。

3.3.1合并单元格

WritableSheet.mergeCells(int m,int n,int p,int q);

作用是从(m,n)到(p,q)的单元格全部合并,比如:

WritableSheet sheet=book.createSheet(“第一页”,0);

//合并第一列第一行到第六列第一行的所有单元格

sheet.mergeCells(0,0,5,0);

合并既可以是横向的,也可以是纵向的。合并后的单元格不能再次进行合并,否则会触发异常。

3.3.2行高和列宽

WritableSheet.setRowView(int i,int height);

作用是指定第i+1行的高度,比如:

//将第一行的高度设为200

sheet.setRowView(0,200);

WritableSheet.setColumnView(int i,int width);

作用是指定第i+1列的宽度,比如:

//将第一列的宽度设为30

sheet.setColumnView(0,30);

3.4操作图片

public static void write()throws Exception{

WritableWorkbook wwb=Workbook.createWorkbook(new File("c:/1.xls"));

WritableSheet ws=wwb.createSheet("Test Sheet 1",0);

File file=new File("C:\\jbproject\\PVS\\WebRoot\\weekhit\\1109496996281.png");

WritableImage image=new WritableImage(1, 4, 6, 18,file);

ws.addImage(image);

wwb.write();

wwb.close();

}

很简单和插入单元格的方式一样,不过就是参数多了些,WritableImage这个类继承了Draw,上面只是他构造方法的一种,前面四个参数的类型都是double,依次是 x, y, width, height,注意,这里的宽和高可不是图片的宽和高,而是图片所要占的单位格的个数,因为继承的Draw所以它的类型必须是double,)。

读:

读的时候是这样的一个思路,先用一个输入流(InputStream)得到Excel文件,然后用jxl中的Workbook得到工作薄,用Sheet从工作薄中得到工作表,用Cell得到工作表中得某个单元格.

InputStream->Workbook->Sheet->Cell,就得到了excel文件中的单元格

代码:

String path="c:\\excel.xls";//Excel文件URL

InputStream is = new FileInputStream(path);//写入到FileInputStream

jxl.Workbook wb = Workbook.getWorkbook(is); //得到工作薄

jxl.Sheet st = wb.getSheet(0);//得到工作薄中的第一个工作表

Cell cell=st.getCell(0,0);//得到工作表的第一个单元格,即A1

String content=cell.getContents();//getContents()将Cell中的字符转为字符串

wb.close();//关闭工作薄

is.close();//关闭输入流

我们可以通过Sheet的getCell(x,y)方法得到任意一个单元格,x,y和excel中的坐标对应.

例如A1对应(0,0),A2对应(0,1),D3对应(3,2).Excel中坐标从A,1开始,jxl中全部是从0开始.

还可以通过Sheet的getRows(),getColumns()方法得到行数列数,并用于循环控制,输出一个sheet中的所有内容.

写:

往Excel中写入内容主要是用jxl.write包中的类.

OutputStream<-WritableWorkbook<-WritableSheet<-Label

这里面Label代表的是写入Sheet的Cell位置及内容.

代码:

OutputStream os=new FileOutputStream("c:\\test.xls");//输出的Excel文件URL

WritableWorkbook wwb = Workbook.createWorkbook(os);//创建可写工作薄

WritableSheet ws = wwb.createSheet("sheet1", 0);//创建可写工作表

Label labelCF=new Label(0, 0, "hello");//创建写入位置和内容

ws.addCell(labelCF);//将Label写入sheet中

Label的构造函数Label(int x, int y,String aString)xy意同读的时候的xy,aString是写入的内容.

WritableFont wf = new WritableFont(WritableFont.TIMES, 12, WritableFont.BOLD, false);//设置写入字体

WritableCellFormat wcfF = new WritableCellFormat(wf);//设置CellFormat

Label labelCF=new Label(0, 0, "hello");//创建写入位置,内容和格式

Label的另一构造函数Label(int c, int r, String cont, CellFormat st)可以对写入内容进行格式化,设置字体及其它的属性.

//现在可以写了

wwb.write();

//写完后关闭

wwb.close();

//输出流也关闭吧

os.close;

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/2e7235629.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

JSP中导入导出Excel文件

JSP中导入导出Excel文件 一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel 对象,你可以控制一些属性如sheet,cell等等。 二.HSSF概况 HSSF 是sHorrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”。也许HSSF的名字有点滑稽,就本质而言它是一个非常严肃、正规的API。通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。 HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”。前者很好理解,后者比较抽象,但操作效率要高得多。 三.开始编码 1 .准备工作 要求:JDK 1.4+POI开发包 可以到 https://www.sodocs.net/doc/2e7235629.html,/dyn/closer.cgi/jakarta/poi/ 最新的POI工具包 2 . EXCEL 结构 HSSFWorkbook excel 文档对象介绍 HSSFSheet excel的表单 HSSFRow excel的行 HSSFCell excel的格子单元 HSSFFont excel字体 HSSFName 名称 HSSFDataFormat 日期格式 HSSFHeader sheet头 HSSFFooter sheet尾 和这个样式 HSSFCellStyle cell样式

最新简单的excel表格制作

EXCEL表格制作及应用 1、新建一个EXCEL文件:在桌面或任何磁盘里右键——新建——EXCEL。 2、打开文件如下: 3、在打开的EXCEL里点第一格,写表头,写完表头后再在第二行依次写你需要的项目: 在写这些项目时,不要管它格子大小,只要依次在每一个格子里写就可以了。 4、用鼠标选定第二行你所需要的格子,然后往下拖,拖到你想要的行数。

这时,所需要的表格颜色改变,一般为蓝色。 5、鼠标移到工具栏: 点开中的三角,这时会出现许多选项,点击“田”字格,这时就会看到表格发生变化:

这时,把鼠标指向表格最上端A、B之间,鼠标会出现双向箭头,按左键,把格子拖到你需要的大小, 再选中第二行一下的所有表格,鼠标点击工具栏 中这时表格中所有字就会居中了。 6、鼠标选定第一行到表格的最后一格,然后点击工具栏中合并居中。 右键第一行,点击设置单元格格式,

点对齐,把水平对齐和垂直对齐都选为剧中,再确定。这时,表格基本上制作完成。 7、在表格的序号下面第一格写1,第二个写2,鼠标选中1、2,这时把鼠标移到2的右下 角,出现一个加号,按左键往下拖,这时序号就出来了。 8、接下来就是编辑表格了,写入你要写的数据等。当你写入身份证号码时,会出现如下:

把鼠标移到C处,出现向下的一个箭头,点击,这时C列的所有表格将被选中,右键——设置单元格格式——数字——数值。这时把小数位数设为0, 确定即可。 这时,身份证号就出来了。写完出勤天数和月工资,但有的不是满勤,所以工资就不是那么多了,点合计下的那一格(不要双击),输入“=”,鼠标点击月工资下的那一格(如本表格3000,直接写3000也行),再输入“/”(也就是除以,在键盘右下角,也就是“、”号,但这时必须用切换键把它切换成“/”。按一次SHIFT键即可。)再输入本月天数(如31),再输入“*”(也就是SHIFT键加数字8),再点出勤天数那一格(如本表中的30,直接写30也可以)回车(确定)即可。也就是月工资除以那一月的天数得出每天工资,再乘以出勤天数得出那月张三的工资。如图:

在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.设置指定列的宽度(单位:字符个数)

Java实现Excel数据导入和导出的研究与应用

Java实现Excel数据导入导出的研究与应用 王晶晶 北京邮电大学网络教育学院(100088) E-mail:bolalisi_double@https://www.sodocs.net/doc/2e7235629.html, 摘要:Excel能够通过功能强大的工具将杂乱的数据组织成有用的信息,然后分析、交流和共享所得到的结果。很多系统由于存在着大量需要处理的数据,Excel本身强大的功能使得它成为处理分析这些数据首选的工具。随着Java语言成为越来越多系统的开发语言,利用Java进行Excel的数据导入导出在很多系统中都发挥着重要的作用,本文主要介绍了Jxl API的主要功能,并结合实例探讨了利用Jxl API操作Excel数据的导入和导出。 关键字:Java;Excel; Jxl API;数据导入导出 中图分类号:TP312文献标识码:A 1. 引言 MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连接的重要手段。在远程网络教学系统中,利用Excel表格统计学生的作业考试情况信息,便于老师了解学生的学习情况,分析教学效果,制定教学计划。所以,用Java操作Excel表格,导出相关的信息对于远程网络教育系统有着的很重要的意义。 在开源世界中,有两套比较有影响的API提供Excel数据导入导出的功能,一个是POI,一个是jExcelAPI。本文结合基于J2EE开发的多媒体教学系统中提供的将学生作业信息导出到Excel表格中的实例,详细阐述了利用JAVA开发的jExcelAPI操作excel的方法。 2. Jxl 简介 2.1 Java语言简介 Java语言具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中极为强大的编程语言[1]。它具有以下一些特点[2]:简单,面向对象,分布式,解释执行,鲁棒,安全,体系结构中立,可移植,高性能,多线程以及动态性。 2.2什么是Jxl Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该 API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、 Servlet来调用API实现对Excel数据表的访问。 Jxl发布的稳定版本是V2.0,提供以下功能: 从Excel 95、97、2000等格式的文件中读取数据[3]; 读取Excel公式(可以读取Excel 97以后的公式)[3];

电子表格制作简易教程(可编辑修改word版)

电子表格制作简易教程 考虑到咱们部门大多数人没有使用Excel 的相关经验,我在此写一点基础性的做表方法 和心得,做表老手就不用看了。 Excel 其软件 现在的Excel 软件分为微软旗下的“office Excel ”和中国国产的“WPS 表格”。两者大 同小异,且在我看来,WPS 系列软件是office 系列软件的山寨版。不过,我们也不得不承认,WPS 这个山寨货比office 好用。由于本人使用的是WPS 的版本,所以接下来的内容都是以WPS 表格制作为例的。 秘书处所做表的类型 秘书处的电子表只是运用了Excel 软件中非常基础的部分,因此个人认为是非常容易学 习的。我们所做的电子表和常见的数据类电子表不同,我们的多是信息类的表,例如“秘书处联系表”这种。这样以来,电子表的整个“函数”部分我们都不需要接触了,即 基本概念 1.单元格:打开Excel 软件,入眼的一个个格状物,便是一个一个的单元格。从一定的 程度上来讲,每个单元格都是可以看作是一个迷你的文档。 2.先选定后操作:微软几乎所有的软件都是“先选定,后操作”,例如,你要先选择你 要修改的文字,然后才能进行字体大小等等的调整。这一点看起来很傻很基础,但却非常非常重要,很多常做表的人都没有注意到这一点,使得操作更加复杂。 工具栏里的常用按键 ①字体,不解释。 ②字号,即字的大小。 ③字体加粗,多用在标题上。 ④居中,为了表格的美观,我们会让单元格内的内容放在整个单元格的正中间。不过这 个按键往往只能做到“水平居中”而不能“垂直居中”。垂直居中后面再讲。 ⑤自动换行,如图1-1,右边的“性别”二字使用了“自动换行”。在一个 单元格里,按“回车”键是没有换行效果的。很多新手会使用空格达到换行的 目的,这样会使表难以修改。 ⑥合并单元格,这是秘书处的电子表中最最常用的按键。用 法是拖黑多个单元格(即选定),然后点击此按钮(即操作)。如 图1-2,左边的“副部长”使用了“合并单元格”。灵活运用合并 单元格功能是使电子表排版美观的关键。 ⑦边框,后面再着重讲。 ⑧填充颜色,自行尝试。不太常用 ⑨字体颜色,不解释。 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ 1-1 1-2

从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

Excel数据导入教程

Excel模板数据导入教程 Excel模板数据导入教程 Excel导入模板中的数据既可以直接在我们提供的模板文件中录入,列标题中有红色“(必填)”文字的列必须要填写,其它列根据实际需求可以不填写,换算比率、销售价格、库存数量、成本价这些数字列如果要导入的话,一定是纯数字格式,必须要填写而且不能包括任何汉字或字母。 库存数量与成本价必须是以基本计量单位核算录入,也就是以最小计量单位核算录入。 如果从管家婆、速达等进销存软件中导出到Excel文件,一定要修改导出的Excel文件格式,否则肯定不能正常识别和导入,修改的要求如下: 1、Excel导入模板文件扩展名必须为xls,如果为其它扩展名,必须双击打开模板文件,然后另存为“Excel97-2003工作簿(*.xls)”格式的文件; 2、窗口左下角的工作薄名称必须为“Sheet1”,管家婆或速达导出来的工作薄名称一般为其它名称,必须要修改为Sheet1,请见以下截图; 3、第一行必须为列名,第二行开始必须为要导入的正式数据,请见以下截图;

附上一张标准的导入模板数据截图 本教程只演示怎么导入在我们提供的Excel导入模板中录入的数据,如果从管家婆或速达等进销存软件导出来的数据,导入方式大同小异,只是列名或列的数量不一致而已; 在导入之前一定要关闭要导入的Excel模板文件,否则因为独占模式导致导入时无法识别模板文件中的数据。 产品资料导入 产品资料模板中包括“产品资料基础信息、销售价格、库存记录”3部分内容,需要将同一个产品资料模板文件分3步分别导入,如果有辅助计量单位的销售价格也需要导入,那么需要分4步分别导入。 在导入的模板中如果包括软件中已存在的产品资料记录,一定要在导入窗口将 下拉框选择,这样就不会将相同的记录重复导入到软件中。 第一步:既可以在软件初次使用向导窗口中点击“产品资料导入”按钮,也可以在“基础数据----产品资料”列表窗口点击“Excel导入”菜单,弹出产品资料导入窗口,先选择要导入的Excel模板文件,然后根据要导入的列,按照以下截图设置要导入的列,在第一步中只能导入产品资料的基础数据,销售价格和库存记录在以下步骤中导入。

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

从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文档.就用下面的方法 /*--数据导出excel 导出表中的数据到excel,包含字段名,文档为真正的excel文档 ,假如文档不存在,将自动创建文档 ,假如表不存在,将自动创建表 基于通用性考虑,仅支持导出标准数据类型 --邹建2003.10--*/ /*--调用示例

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 语句时有没有用使用函数的习惯,反正我是相

NC Excel导入导出参考

NC导入导出参考 数据字典: ID userid char pk null 用户编码usercode char null 用户姓名username char null 用户密码password char null 职位名称postname char null 部门vdeptid char null 公司pk_corp char null ---------------------------------------------------------------------------------------------------------------------- UI界面: ---------------------------------------------------------------------------------------------------------------------- 说明:界面中导入导出按钮自己添加,VO自己搞定,本书仅供参考,如有问题自己解决 导出Excel按钮: UserExcelExport export = new UserExcelExport(); // 界面没有数据或者有数据但是没有选中任何行 if (getBufferData().getCurrentVO() == null) return; JFileChooser jfile = new JFileChooser(); jfile.setDialogType(JFileChooser.SA VE_DIALOG); / / 打开文件 if (jfile.showSaveDialog(new UserBillCardUI()) == vax.swing.JFileChooser.CANCEL_OPTION) return; // 文件名 String file = jfile.getSelectedFile().toString(); //返回单据表体当前被选中的VO,如果没有则返回null getBillCardPanelWrapper().getSelectedBodyVOs(); UserVO[] uvos = (UserVO[]) getBillCardPanelWrapper().getSelectedBodyVOs();// export.export(uvos, file);//进行导出操作

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

Java数据导入导出Excel

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import jxl.Workbook; import jxl.format.UnderlineStyle; import https://www.sodocs.net/doc/2e7235629.html,bel; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; import https://www.sodocs.net/doc/2e7235629.html,ermodel.HSSFCell; import https://www.sodocs.net/doc/2e7235629.html,ermodel.HSSFCellStyle; import https://www.sodocs.net/doc/2e7235629.html,ermodel.HSSFRow; import https://www.sodocs.net/doc/2e7235629.html,ermodel.HSSFSheet; import https://www.sodocs.net/doc/2e7235629.html,ermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class ExcelOpt { /** * 生成一个Excel文件jxl * @param fileName 要生成的Excel文件名 * @jxl.jar 版本:2.6 */ public static void writeExcel(String fileName){ WritableWorkbook wwb = null; try { //首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象 wwb = Workbook.createWorkbook(new File(fileName)); } catch (IOException e) { e.printStackTrace(); } if(wwb!=null){ //创建一个可写入的工作表 //Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置

制作Excel表格简易教程范文

制作Excel表格简易教程 贾庆山 2004年8月10日 本教程主要讲授使用Microsoft Excel 2002进行基本的表格制作。本教程图文并茂,读者可以对照学习使用。鉴于Microsoft Excel系列软件的兼容性和界面的一致性,本教程对于使用其他版本的Microsoft Excel软件也有一定的参考价值。 第1章:引言 制作Excel表格,将表格实现电子化,可以方便数据的保存与统计,极大提高办公的效率,是实现办公自动化的基础技术。Microsoft Excel软件的功能是强大的,但是本教程集中介绍最基础的部分。使用这些基础功能,已经可以满足目前办公自动化中的大部分需求。下文从两方面介绍:如何创建一个最简单的表格,如何利用Excel的统计功能。每个功能的实现都分步列出,同时给出相应的操作示意图,方便读者对照执行。 第2章:创建表格 首先需要安装Microsoft Excel 2002。之后运行该软件。方法:从开始菜单的程序列表中可以找到Microsoft Excel(图2.1)。单击鼠标右键运行。此时程序自动创建一个空白表格(图2.2)。 图2.1:运行Microsoft Excel 2002。

图2.2:程序自动创建的空白表格。 图2.3:保存Excel表格。

一个表格由许多行(用阿拉伯数字标识)和列(用英文字母标识)组成。每个小格子叫做单元格。用鼠标左键单击选中某一个单元格,就可以直接在其中输入文字或者数字。 第二步,保存表格。方法:在窗口上部菜单栏中选择“文件”-“保存”,然后会弹出一个对话框,要求输入保存的位置和文件名(图2.3)。选择合适的文件名和位置后选择“保存”,就完成保存当前的表格了。 第三步,调整单元格大小。在表格中,有的格子比较大,用来保存较长的文字或数字;有的格子和其他几个格子一样宽(例如标题栏)。而自动生成的表格中每个单元格的大小都是完全相同的。要调整单元格的大小,操作起来非常简单。方法:如要调整单元格的宽度,将鼠标移动到英文字母(A,B,C…)标识栏中相邻两列之间,会看见鼠标变成一个横的双向箭头中间有一个竖杠。此时按住鼠标左键,左右拖动,可以调整一列的宽度,至合适的位置时放开鼠标左键,则一列中所有单元格的宽度就被调整至所需的大小了(图2.4)。类似的,将鼠标移到窗口左侧的数字标识栏中相邻两行之间,会看见鼠标变成一个竖的双向箭头中间有一个横杠。此时按住鼠标左键,上下拖动,可以调整一行的高度,至合适的位置时放开鼠标左键,则一行中所有单元格的高度就被调整至所需的大小了(图2.5)。 图2.4:调整单元格的宽度。 下面介绍如何调整一个单元格的宽度、高度到其他几个单元格宽度、高度之和。这项功能一般用于表示表格中一项内容可以包含几个小项(例如:一个季度的收入可以分成三个月的月收入)。这时,需要通过合并几个小的单元格为一个大单元格来实现。方法:选中希望合并的单元格,然后单击鼠标右键,在弹出的菜单列表中选择“设置单元格格式”(图2.6)。在弹出的对话框中选择“对齐”,然后在设置栏中选中“合并单元格”(图2.7),选择“确定”即可将原先选中的单元格合并成一个单元格(图2.8)。

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/2e7235629.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/2e7235629.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/2e7235629.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&&关闭工作区

相关主题