java poi实现excel导入导出

所用的是poi jar

Java数据导入Excel

package com.bossy.base;

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.360docs.net/doc/cb2298764.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.360docs.net/doc/cb2298764.html,ermodel.HSSFCell; import https://www.360docs.net/doc/cb2298764.html,ermodel.HSSFCellStyle; import https://www.360docs.net/doc/cb2298764.html,ermodel.HSSFRow; import https://www.360docs.net/doc/cb2298764.html,ermodel.HSSFSheet;

import https://www.360docs.net/doc/cb2298764.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方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置WritableSheet ws=wwb.createSheet("工作表名称",0);

//下面开始添加单元格

for(int i=0;i<10;i++){

for(int j=0;j<5;j++){

//这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行

Label labelC=new Label(j,i,"这是第"+(i+1)+"行,第"+(j+1)+"列");

try{

//将生成的单元格添加到工作表中

ws.addCell(labelC);

}catch(RowsExceededException e){

e.printStackTrace();

}catch(WriteException e){

e.printStackTrace();

}

}

}

try{

//从内存中写入文件中

wwb.write();

//关闭资源,释放内存

wwb.close();

}catch(IOException e){

e.printStackTrace();

}catch(WriteException e){

e.printStackTrace();

}

}

}

/**

*生成一个Excel文件POI

*@param inputFile输入模板文件路径

*@param outputFile输入文件存放于服务器路径

*@param dataList待导出数据

*@throws Exception

*@roseuid:

*/

public static void exportExcelFile(String inputFile,String outputFile,List dataList)throws Exception{ //用模板文件构造poi

POIFSFileSystem fs=new POIFSFileSystem(new FileInputStream(inputFile));

//创建模板工作表

HSSFWorkbook templatewb=new HSSFWorkbook(fs);

//直接取模板第一个sheet对象

HSSFSheet templateSheet=templatewb.getSheetAt(1);

//得到模板的第一个sheet的第一行对象为了得到模板样式

HSSFRow templateRow=templateSheet.getRow(0);

//HSSFSheet timplateSheet=templatewb.getSheetAt(1);

//取得Excel文件的总列数

int columns=templateSheet.getRow((short)0)

.getPhysicalNumberOfCells();

//Debug.println("columns is:"+columns);//=========================

//创建样式数组

HSSFCellStyle styleArray[]=new HSSFCellStyle[columns];

//一次性创建所有列的样式放在数组里

for(int s=0;s

//得到数组实例

styleArray[s]=templatewb.createCellStyle();

}

//循环对每一个单元格进行赋值

//定位行

for(int rowId=1;rowId

//依次取第rowId行数据每一个数据是valueList

List valueList=(List)dataList.get(rowId-1);

//定位列

for(int columnId=0;columnId

//依次取出对应与colunmId列的值

//每一个单元格的值

String dataValue=(String)valueList.get(columnId);

//取出colunmId列的的style

//模板每一列的样式

HSSFCellStyle style=styleArray[columnId];

//取模板第colunmId列的单元格对象

//模板单元格对象

HSSFCell templateCell=templateRow.getCell((short)columnId); //创建一个新的rowId行行对象

//新建的行对象

HSSFRow hssfRow=templateSheet.createRow(rowId);

//创建新的rowId行columnId列单元格对象

//新建的单元格对象

HSSFCell cell=hssfRow.createCell((short)columnId);

//如果对应的模板单元格样式为非锁定

if(templateCell.getCellStyle().getLocked()==false){

//设置此列style为非锁定

style.setLocked(false);

//设置到新的单元格上

cell.setCellStyle(style);

}

//否则样式为锁定

else{

//设置此列style为锁定

style.setLocked(true);

//设置到新单元格上

cell.setCellStyle(style);

}

//设置编码

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

//Debug.println("dataValue:"+dataValue);

//设置值统一为String

cell.setCellValue(dataValue);

}

}

//设置输入流

FileOutputStream fOut=new FileOutputStream(outputFile); //将模板的内容写到输出文件上

templatewb.write(fOut);

fOut.flush();

//操作结束,关闭文件

fOut.close();

}

/**

*导出数据为XLS格式

*@param fos生成Excel文件Path

*@param bo要导入的数据

*/

public static void writeExcelBo(String fos,java.util.List ve)

{

jxl.write.WritableWorkbook wwb;

try

{

wwb=Workbook.createWorkbook(new File(fos));

jxl.write.WritableSheet ws=wwb.createSheet("上市新书",10);

ws.addCell(new https://www.360docs.net/doc/cb2298764.html,bel(0,1,"书名"));

ws.addCell(new https://www.360docs.net/doc/cb2298764.html,bel(1,1,"作者"));

ws.addCell(new https://www.360docs.net/doc/cb2298764.html,bel(2,1,"定价"));

ws.addCell(new https://www.360docs.net/doc/cb2298764.html,bel(3,1,"出版社"));

int bookSize=ve.size();

BookVO book=new BookVO();

for(int i=0;i

{

book=(BookVO)ve.get(i);

ws.addCell(new https://www.360docs.net/doc/cb2298764.html,bel(0,i+2,""+book.getBookName()));

ws.addCell(new https://www.360docs.net/doc/cb2298764.html,bel(1,i+2,book.getBookAuthor()));

ws.addCell(new https://www.360docs.net/doc/cb2298764.html,bel(2,i+2,""+book.getBookPrice()));

ws.addCell(new https://www.360docs.net/doc/cb2298764.html,bel(3,i+2,book.getBookConcern()));

}

//jxl.write.WritableFont wfc=

//new jxl.write.WritableFont(WritableFont.ARIAL,255,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.BLACK); //jxl.write.WritableCellFormat wcfFC=new jxl.write.WritableCellFormat(wfc);

ws.addCell(new https://www.360docs.net/doc/cb2298764.html,bel(0,0,"2007年07月即将上市新书!"));

wwb.write();

//关闭Excel工作薄对象

wwb.close();

}catch(IOException e){

}catch(RowsExceededException e){

}catch(WriteException e){

}

}

public static void main(String[]args){

writeExcel("c:\\Test测试Excel.xls");

System.out.println("OK");

ArrayList list=new ArrayList();

for(int i=0;i<10;i++){

BookVO book=new BookVO();

book.setBookName("WebWork in action+"+i);

book.setBookAuthor("唐勇+"+i);

book.setBookPrice("39元+"+i);

book.setBookConcern("飞思科技+"+i);

list.add(book);

}

writeExcelBo("c:\\上市新书.xls",list);

System.err.println("Book OK!!!");

}

}

java如何操作Excel(数据导入导出)(转)

jxl.jar,可以到https://www.360docs.net/doc/cb2298764.html,/project/showfiles.php?group_id=79926下载。

一.读取Excel文件内容

java代码

/**读取Excel文件的内容

*@param file待读取的文件

*@return

*/

public static String readExcel(File file){

StringBuffer sb=new StringBuffer();

Workbook wb=null;

try{

//构造Workbook(工作薄)对象

wb=Workbook.getWorkbook(file);

}catch(BiffException e){

e.printStackTrace();

}catch(IOException e){

e.printStackTrace();

}

if(wb==null)

return null;

//获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了Sheet[]sheet=wb.getSheets();

if(sheet!=null&&sheet.length>0){

//对每个工作表进行循环

for(int i=0;i

//得到当前工作表的行数

int rowNum=sheet[i].getRows();

for(int j=0;j

//得到当前行的所有单元格

Cell[]cells=sheet[i].getRow(j);

if(cells!=null&&cells.length>0){

//对每个单元格进行循环

for(int k=0;k

//读取当前单元格的值

String cellValue=cells[k].getContents();

sb.append(cellValue+"\t");

}

}

sb.append("\r\n");

}

sb.append("\r\n");

}

}

//最后关闭资源,释放内存

wb.close();

return sb.toString();

}

二.写入Excel文件

这里有很多格式了,比如文本内容加粗,加上某些颜色等,可以参考jxl的api.

同时还推荐一篇不错的文章:https://www.360docs.net/doc/cb2298764.html,/developerworks/cn/java/l-javaExcel/?ca=j-t10

java代码

/**生成一个Excel文件

*@param fileName要生成的Excel文件名

*/

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方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置WritableSheet ws=wwb.createSheet("sheet1",0);

//下面开始添加单元格

for(int i=0;i<10;i++){

for(int j=0;j<5;j++){

//这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行

Label labelC=new Label(j,i,"这是第"+(i+1)+"行,第"+(j+1)+"列");

try{

//将生成的单元格添加到工作表中

ws.addCell(labelC);

}catch(RowsExceededException e){

e.printStackTrace();

}catch(WriteException e){

e.printStackTrace();

}

}

}

try{

//从内存中写入文件中

wwb.write();

//关闭资源,释放内存

wwb.close();

}catch(IOException e){

e.printStackTrace();

}catch(WriteException e){

e.printStackTrace();

}

}

}

三.在一个Excel文件中查找是否包含某一个关键字java代码

/**搜索某一个文件中是否包含某个关键字

*@param file待搜索的文件

*@param keyWord要搜索的关键字

*@return

*/

public static boolean searchKeyWord(File file,String keyWord){

boolean res=false;

Workbook wb=null;

try{

//构造Workbook(工作薄)对象

wb=Workbook.getWorkbook(file);

}catch(BiffException e){

return res;

}catch(IOException e){

return res;

}

if(wb==null)

return res;

//获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了Sheet[]sheet=wb.getSheets();

boolean breakSheet=false;

if(sheet!=null&&sheet.length>0){

//对每个工作表进行循环

for(int i=0;i

if(breakSheet)

break;

//得到当前工作表的行数

int rowNum=sheet[i].getRows();

boolean breakRow=false;

for(int j=0;j

if(breakRow)

break;

//得到当前行的所有单元格

Cell[]cells=sheet[i].getRow(j);

if(cells!=null&&cells.length>0){

boolean breakCell=false;

//对每个单元格进行循环

for(int k=0;k

if(breakCell)

break;

//读取当前单元格的值

String cellValue=cells[k].getContents();

if(cellValue==null)

continue;

if(cellValue.contains(keyWord)){

res=true;

breakCell=true;

breakRow=true;

breakSheet=true;

}

}

}

}

}

}

//最后关闭资源,释放内存

wb.close();

return res;

}

四.往Excel中插入图片图标

插入图片的实现很容易,参看以下代码:java代码

/**往Excel中插入图片

*@param dataSheet待插入的工作表

*@param col图片从该列开始

*@param row图片从该行开始

*@param width图片所占的列数

*@param height图片所占的行数

*@param imgFile要插入的图片文件

*/

public static void insertImg(WritableSheet dataSheet,int col,int row,int width, int height,File imgFile){

WritableImage img=new WritableImage(col,row,width,height,imgFile); dataSheet.addImage(img);

}

以上代码的注释已经很清楚了,大概也就不用再解释了,我们可以用如下程序验证:java代码

try{

//创建一个工作薄

WritableWorkbook workbook=Workbook.createWorkbook(new File("D:/test1.xls"));

//待插入的工作表

WritableSheet imgSheet=workbook.createSheet("Images",0);

//要插入的图片文件

File imgFile=new File("D:/1.png");

//图片插入到第二行第一个单元格,长宽各占六个单元格

insertImg(imgSheet,0,1,6,6,imgFile);

workbook.write();

workbook.close();

catch(IOException e){

e.printStackTrace();

catch(WriteException e){

e.printStackTrace();

但是jxl只支持png格式的图片,jpg格式和gif格式都不支持

========================================================

jxl.jar包简介/java操作excel jxl.jar下载地址

jxl.jar包简介

下载地址:

https://www.360docs.net/doc/cb2298764.html,/jexcelapi/当前的最高版本是2.6。

真实下载地址:

https://www.360docs.net/doc/cb2298764.html,/jexcelapi/download.html

作者的网站上对它的特征有如下描述:

●支持Excel95-2000的所有版本

●生成Excel2000标准格式

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

●能够修饰单元格属性

●支持图像和图表

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

搭建环境

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

基本操作

一、创建文件

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

代码(CreateXLS.java):

//生成Excel的类

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”);

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

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文件。

三、读取文件

以刚才我们创建的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);

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.360docs.net/doc/cb2298764.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导入导出通用方法

1.package https://www.360docs.net/doc/cb2298764.html,mon.utils; 2.import java.io.OutputStream; 3.import java.util.List; 4.import javax.servlet.http.HttpServletResponse; 5.import org.apache.struts2.ServletActionContext; 6.import https://www.360docs.net/doc/cb2298764.html,ng.reflect.Field; 7. 8.import jxl.Workbook; 9.import jxl.format.Alignment; 10.import jxl.format.Border; 11.import jxl.format.BorderLineStyle; 12.import jxl.format.VerticalAlignment; 13.import https://www.360docs.net/doc/cb2298764.html,bel; 14.import jxl.write.WritableCellFormat; 15.import jxl.write.WritableFont; 16.import jxl.write.WritableSheet; 17.import jxl.write.WritableWorkbook; 18./*** 19. * @author lsf 20. */ 21.public class ExportExcel { 22./*************************************************************************** 23. * @param fileName EXCEL文件名称 24. * @param listTitle EXCEL文件第一行列标题集合 25. * @param listContent EXCEL文件正文数据集合 26. * @return 27. */ 28.public final static String exportExcel(String fileName,String[] Title, List listConte nt) { 29. String result="系统提示:Excel文件导出成功!"; 30.// 以下开始输出到EXCEL 31.try { 32.//定义输出流,以便打开保存对话框______________________begin 33. HttpServletResponse response=ServletActionContext.getResponse(); 34. OutputStream os = response.getOutputStream();// 取得输出流 35. response.reset();// 清空输出流 36. response.setHeader("Content-disposition", "attachment; filename="+ new String(fileN ame.getBytes("GB2312"),"ISO8859-1")); 37.// 设定输出文件头 38. response.setContentType("application/msexcel");// 定义输出类型 39.//定义输出流,以便打开保存对话框_______________________end 40. 41./** **********创建工作簿************ */ 42. WritableWorkbook workbook = Workbook.createWorkbook(os);

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

Java实现Excel数据导入导出的研究与应用 王晶晶 北京邮电大学网络教育学院(100088) E-mail:bolalisi_double@https://www.360docs.net/doc/cb2298764.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];

从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文档.就用下面的方法

.NET页面数据导出excel表方法

public void CreateExcel(DataSet ds,string typeid,string FileName) { HttpResponse resp; resp = Page.Response; resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName); string colHeaders= "", ls_item=""; int i=0; //定义表对象与行对像,同时用DataSet对其值进行初始化 DataTable dt=ds.Tables[0]; DataRow[] myRow=dt.Select(""); // typeid=="1"时导出为EXCEL格式文件;typeid=="2"时导出为XML格式文件if(typeid=="1") { //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符for(i=0;i colHeaders+=dt.Columns[i].Caption.ToString()+"\t"; colHeaders +=dt.Columns[i].Caption.ToString() +"\n"; //向HTTP输出流中写入取得的数据信息 resp.Write(colHeaders); //逐行处理数据 foreach(DataRow row in myRow) { //在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n for(i=0;i ls_item +=row[i].ToString() + "\t"; ls_item += row[i].ToString() +"\n"; //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据 resp.Write(ls_item); ls_item=""; } } else { if(typeid=="2") { //从DataSet中直接导出XML数据并且写到HTTP输出流中 resp.Write(ds.GetXml()); } } //写缓冲区中的数据到HTTP头文件中 resp.End(); }

C# 导出Excel 表

using System; using System.Collections.Generic; using https://www.360docs.net/doc/cb2298764.html,ponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Reflection; using System.IO; namespace ExcelTest { public partial class frmMain : Form { public frmMain() { InitializeComponent(); } string[] ExcelColumTitle ={ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" }; int[] ExcelColumWidth ={10,15,15,12,12,12,20 };//各列宽度 private void btnOk_Click(object sender, EventArgs e) { this.Enabled = false;

Excel.Application excelKccx = new Excel.Application();//创建excel对象 excelKccx.Workbooks.Add(true);//创建excel工作薄 int row = 2; //把数据表的各个信息输入到excel表中 for (int i = 0; i < dataGridView1.Columns.Count; i++)//取字段名 { excelKccx.Cells[1, i + 1] = dataGridView1.Columns[i].Name.ToString(); } for (int i = 0; i < dataGridView1.Rows.Count; i++)//取记录值 { for (int j = 0; j < dataGridView1.Columns.Count; j++) { excelKccx.Cells[row, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString(); } row++; } for (int i = 0; i < dataGridView1.Columns.Count; i++) { excelKccx.get_Range(ExcelColumTitle[i]+(i+1), Type.Missing).ColumnWidth =ExcelColumWidth[i] ; //宽度设置 } for (int i = 0; i <= dataGridView1.Rows.Count; i++) { excelKccx.get_Range("A" + (i + 1), Type.Missing).RowHeight = 14.25; //高度设置 } excelKccx.Visible = true;//使excel可见*/ } private void frmMain_Load(object sender, EventArgs e) { List list = new List(); string[] tempArray = Directory.GetFileSystemEntries(@"new\"); for (int i = 0; i < tempArray.Length; i++) { string tempLine = ""; string tempAll = ""; string tempA = "";//编号 string tempB = "";//所属人 string tempC = "";//概览

Excel数据导入教程

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

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

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);//进行导出操作

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.360docs.net/doc/cb2298764.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.360docs.net/doc/cb2298764.html,ermodel.HSSFCell; import https://www.360docs.net/doc/cb2298764.html,ermodel.HSSFCellStyle; import https://www.360docs.net/doc/cb2298764.html,ermodel.HSSFRow; import https://www.360docs.net/doc/cb2298764.html,ermodel.HSSFSheet; import https://www.360docs.net/doc/cb2298764.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方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置

DataGrid导出EXCEL的几个方法(WebControl)

DataGirdμ?3?EXCELμ?????·?·¨£¨WebControl£? using System; using System.Data; using System.Text; using System.Web; using System.Web.UI; using System.Diagnostics; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Collections; namespace bookstore { ///

/// myExcel μ??aòa?μ?÷?£ /// public class myExcel { public myExcel() { } /// /// ??DATAGRIDμ?3??aEXCEL???t·?·¨ò?, /// 2?êyê?:òaμ?3?μ?DATAGRIDμ?IDoíòa±£′???à′μ?EXCEL???t?? /// /// page /// datagrid /// filename private void OutExcel(Page myPage,DataGrid dg,string name) { HttpResponse Response; Response=myPage.Response; string name1="attachment;filename="+name+".xls"; dg.Visible=true;

html导出excel的方法(简单)

html导出excel的方法(简单) 在html实现打印和导出excel的实现: 2006/11/05 01:54 P.M. 在所要打印和导如的EXCES的table 加个如 id = "PrintA" 在打印按纽上注册监听如:onclick="javascript:AllAreaWord(); 在加上如下内容: