- 浏览: 497025 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (247)
- java框架-struts2 (11)
- java框架-spring (6)
- 开发工具-myeclipse (8)
- 技术标准-webservice (1)
- 技术标准-opensaml2 (1)
- 开发语言-java (13)
- 开发语言-asp (4)
- 数据库-oracle (25)
- 数据库-mysql (4)
- 前端开发-css (15)
- 前端开发-javascript (34)
- 图片处理 (7)
- 事务处理 (1)
- SVN (2)
- 系统-linux (41)
- 系统-solaris (13)
- 系统-windows (8)
- web容器-glassfish (5)
- 单点登录-Shibboleth (0)
- 其他技术 (18)
- 技术无关 (6)
- 开发语言-jsp (2)
- 前端开发-html (1)
- LDAP相关 (11)
- 单点登录-cas (0)
- php (0)
- 门户-uportal (0)
- 单点登录-opensso (1)
- json (1)
- Android (2)
最新评论
-
wzwahl36:
http://www.atool.org/ico.php这个生 ...
Photoshop制作Favicon.ico图标(转载) -
wgimperial:
帮我解决了问题,谢谢LZ
如何让 href 失效(转) -
Finishx:
[color=olive][/color][size=medi ...
iframe跨域(转) -
q79969786:
不能删,上了这个workspace就是空的了
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContainer -
hw1287789687:
showrev
在SOLARIS下如何查看版本号
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 jxl.write.Label;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.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 < columns; s++) {
//得到数组实例
styleArray[s] = templatewb.createCellStyle();
}
//循环对每一个单元格进行赋值
//定位行
for (int rowId = 1; rowId < dataList.size(); rowId++) {
//依次取第rowId行数据 每一个数据是valueList
List valueList = (List) dataList.get(rowId - 1);
//定位列
for (int columnId = 0; columnId < columns; 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 jxl.write.Label(0, 1, "书名"));
ws.addCell(new jxl.write.Label(1, 1, "作者"));
ws.addCell(new jxl.write.Label(2, 1, "定价"));
ws.addCell(new jxl.write.Label(3, 1, "出版社"));
int bookSize=ve.size();
BookVO book = new BookVO();
for (int i= 0; i < bookSize; i++)
{
book= (BookVO)ve.get(i);
ws.addCell(new jxl.write.Label(0, i + 2, "" + book.getBookName()));
ws.addCell(new jxl.write.Label(1, i + 2, book.getBookAuthor()));
ws.addCell(new jxl.write.Label(2, i + 2, "" + book.getBookPrice()));
ws.addCell(new jxl.write.Label(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 jxl.write.Label(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读取UTF-8文件
2012-08-07 11:51 1139import java.io.BufferedReader; ... -
java遍历目录(按类型查找+按文件名查找)
2012-07-12 14:02 1530import java.io.BufferedWriter; ... -
java写文件性能比较
2011-09-08 10:25 1151import java.io.File; import ja ... -
Java实现ping
2011-05-04 17:14 2028一、<!-- [if gte mso 9]>< ... -
It is indirectly referenced from required .class file 问题解决(转)
2010-10-18 14:17 817原因: 你正要使用的类调用了另一个类,而这个类又调用了其 ... -
java路径问题总结(转)
2010-05-02 16:13 948一 相对路径的获得 说明:相对路径(即不写明时候到底 ... -
追加内容到文件末尾的几种常用方法
2010-05-02 16:11 827import java.io.BufferedWriter; ... -
8个你应该了解的正则表达式
2010-05-02 16:10 860正则表达式也可以被当作是一门语言,当你学习一门新的编程语言的时 ... -
java实现excel导入导出(2)(转)
2010-05-02 15:56 2055=================摘要============ ... -
java实现excel导入导出(3)(转)
2010-05-02 15:54 4503JAVA EXCEL API简介 Java Excel是一开 ... -
Date中过期方法的替代品
2010-03-11 17:05 1883SimpleDateFormat formatter = ... -
异常: The Network Adapter could not establish the connection
2009-08-27 09:59 11361Io 异常: The Network Adapter coul ...
相关推荐
Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Excel 文件。在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java ...
Excel源代码,导入导出各种工具类 <groupId>org.apache.poi <artifactId>poi <groupId>org.apache.poi <artifactId>poi-scratchpad 代码实例: String path = ""; byte[] bytes; vo.setCurrentPage(0); vo....
Java 实现 Excel 导入导出 Java 是一种流行的编程语言,Excel 是一种常用的电子表格软件。在 Java 中,实现 Excel 导入导出可以使用多种方式,本文将介绍使用 JXL 和 POI 两个库实现 Excel 导入导出的方法。 使用 ...
Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出
Java 实现 Excel 导入导出是指使用 Java 语言编写程序来实现将 Excel 文件中的数据导入到 Java 程序中,并将 Java 程序中的数据导出到 Excel 文件中。这种操作可以使用 Apache POI 库来实现。 POI 库简介 Apache ...
用Java实现的Excel的导入导出,简洁明了,高质量代码。
综上所述,Java实现Excel导入导出功能主要依赖于Apache POI库,通过其提供的API可以方便地读取和写入Excel数据,同时注意性能优化和异常处理,确保功能的稳定性和效率。在实际开发中,还需要结合具体业务需求进行...
Java实现Excel导入导出是Java开发中常见的任务,主要用于数据的批量处理和分析,尤其在数据分析、报表生成和数据备份等方面具有广泛应用。要熟练掌握这一技术,开发者需要了解Excel文件的结构,熟悉Java的文件操作,...
在提供的“java-excel导入导出”压缩包中,可能包含了示例代码、说明文档以及测试数据,可以帮助初学者快速理解和使用Java POI进行Excel操作。通过学习和实践这些示例,你可以掌握Java POI库的基本用法,并能灵活...
JAVA中excel导入导出通用方法 JAVA 中 excel 导入导出通用方法是指在 Java 项目中实现 excel 文件的导入和导出功能。这种方法可以应用于各种需要 excel 文件交互的业务场景中。 一、引入依赖 在 Java 项目中想要...
Java实现Excel导入导出数据库的方法示例主要介绍了Java实现Excel导入导出数据库的方法,结合实例形式分析了java针对Excel的读写及数据库操作相关实现技巧。该示例中,主要讲解了如何将Excel文件导入到数据库中,并...
总之,这个项目是一个完整的Java解决方案,用于处理Excel文件的导入导出,同时具备用户友好的进度条显示。它利用了Apache POI的强大功能,结合maven的依赖管理,以及可能的GUI组件,提供了高效且直观的数据操作体验...
### Java实现Excel导入导出详解 #### 知识点概览 本文主要探讨了使用Java进行Excel文件导入与导出的技术细节,通过两种不同的库——`jxl`和`Apache POI`,来实现对Excel文件的操作。我们将深入分析代码示例,了解...
以上就是Java实现Excel导入导出的基本流程和关键知识点。实际项目中,可能还需要考虑线程安全、并发处理、数据验证、公式计算等复杂情况。通过熟练掌握这些技术,可以高效地在Java应用中处理Excel数据。
这个"asp将EXCEL导入导出数据库原程序"提供了一个解决方案,能够方便地将Excel中的数据存入MSSQL数据库,同时也能将数据库中的数据导出到Excel文件。 首先,我们需要了解如何使用ASP连接MSSQL数据库。通常,这涉及...
此代码为java运用poi3.8插件实现运用模版导入导出复杂excel
把Java实现表格的相关操作进行了封装,本次封装是基于 POI 的二次开发,最终使用只需要调用一个工具类中的方法,就能满足业务中绝大部门的导入和导出需求。详细讲解包含源码 把Java实现表格的相关操作进行了封装,...
请到网站http://www.apache.org/dyn/closer.cgi/poi/右击超链接2.5.1.zip下载压缩包poi-bin-2.5.1-final-20040804.zip,解压缩后得到如图2.1所示的目录结构。我们主要用到poi-2.5.1-final-20040804.jar这个库文件。...
总结,Java通过Apache POI库处理Excel文档,结合JDBC进行数据库操作,实现了数据的导入导出。在实际应用中,可能还需要处理异常、优化性能,以及考虑并发和多线程等问题。理解并掌握这些技术,可以极大地提高Java...