我现在要实现的是使用java语句实现蒋mysql数据库中数据导出到excel中来,另外的功能是将excel中的数据导入到数据库中,求教高手,最好是程序,我用的包是jxl.jar包.
用jxl来实现
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;public String importEnter(HttpServletRequest request) {
Connection conn = null;
PreparedStatement ps = null;
OpenDbBean db = new OpenDbBean();
String message = "";
try {
ServletInputStream is = request.getInputStream();
byte[] junk = new byte[1024];
int bytesRead = 0;
//去掉浏览器发送的垃圾信息
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
bytesRead = is.readLine(junk, 0, junk.length);
Workbook workbook = Workbook.getWorkbook(is);
//取得第一个工作录
Sheet sheet = workbook.getSheet(0);
//从第二行开始取数据并处理
Enter enter = new Enter();
//连接数据库
conn = db.getConnection();
String sql =
"insert into haocai_enter(enter_id,enter_time,amount,jsr,type_id,xh)"
+ " values(s_enter_id.nextval,to_date(?,'dd/mm/yyyy'),?,?,?,?)";
ps = conn.prepareStatement(sql);
int okCount = 0;
ArrayList errorRows = new ArrayList();
for (int i = 1; i < sheet.getRows(); i++) {
DB mydb = new DB();
Cell[] c = sheet.getRow(i);
String type_id = enter.getTypeIdByPm(c[PM].getContents());
if (type_id != null) {
//设置入库数据
ps.setString(1, c[ENTER_TIME].getContents());
ps.setString(2, c[AMOUNT].getContents());
ps.setString(3, c[JSR].getContents());
ps.setString(4, type_id);
ps.setString(5, c[XH].getContents());
ps.addBatch();
okCount++;
} else {
message += "<br>第" + i + "行 " + c[PM].getContents() + " 导入失败";
}
}
//执行该批过程
if (okCount > 0) {
ps.executeBatch();
}
message += "<br>成功导入" + okCount + " 行";
workbook.close();
} catch (Exception e) {
System.out.println(e.getMessage());
message += "<br>" + e.getMessage();
} finally {
try {
db.CleanConnection(conn, ps, null);
} catch (SQLException e1) {
e1.printStackTrace();
}
}
return message;
}
用jxl.jar或者poi都可以,poi可以到apache网站上去下。
利用Java 创建和读取Excel文档
为了保证示例程序的运行,必须安装Java 2 sdk1.4.0 和Jakarta POI,Jakarta POI的Web站点是: http://jakarta.apache.org/poi/
示例1将演示如何利用Jakarta POI API 创建Excel 文档。
示例1程序如下:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileOutputStream;
public class CreateXL {
/** Excel 文件要存放的位置,假定在D盘JTest目录下*/
public static String outputFile="D:/JTest/ gongye.xls";
public static void main(String argv[])
{
try
{
// 创建新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名为缺省值
// 如要新建一名为"效益指标"的工作表,其语句为:
// HSSFSheet sheet = workbook.createSheet("效益指标");
HSSFSheet sheet = workbook.createSheet();
// 在索引0的位置创建行(最顶端的行)
HSSFRow row = sheet.createRow((short)0);
//在索引0的位置创建单元格(左上端)
HSSFCell cell = row.createCell((short) 0);
// 定义单元格为字符串类型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 在单元格中输入一些内容
cell.setCellValue("增加值");
// 新建一输出文件流
FileOutputStream fOut = new FileOutputStream(outputFile);
// 把相应的Excel 工作簿存盘
workbook.write(fOut);
fOut.flush();
// 操作结束,关闭文件
fOut.close();
System.out.println("文件生成...");
}catch(Exception e) {
System.out.println("已运行 xlCreate() : " + e );
}
}
}
读取Excel文档中的数据
示例2将演示如何读取Excel文档中的数据。假定在D盘JTest目录下有一个文件名为gongye.xls的Excel文件。
示例2程序如下:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileInputStream;
public class ReadXL {
/** Excel文件的存放位置。注意是正斜线*/
public static String fileToBeRead="D:/JTest/ gongye.xls";
public static void main(String argv[]){
try{
// 创建对Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
// 创建对工作表的引用。
// 本例是按名引用(让我们假定那张表有着缺省名"Sheet1")
HSSFSheet sheet = workbook.getSheet("Sheet1");
// 也可用getSheetAt(int index)按索引引用,
// 在Excel文档中,第一张工作表的缺省索引是0,
// 其语句为:HSSFSheet sheet = workbook.getSheetAt(0);
// 读取左上端单元
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short)0);
// 输出单元内容,cell.getStringCellValue()就是取所在单元的值
System.out.println("左上端单元是: " + cell.getStringCellValue());
}catch(Exception e) {
System.out.println("已运行xlRead() : " + e );
}
}
}
设置单元格格式
在这里,我们将只介绍一些和格式设置有关的语句,我们假定workbook就是对一个工作簿的引用。在Java
中,第一步要做的就是创建和设置字体和单元格的格式,然后再应用这些格式:
1、创建字体,设置其为红色、粗体:
HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
2、创建格式
HSSFCellStyle cellStyle= workbook.createCellStyle();
cellStyle.setFont(font);
3、应用格式
HSSFCell cell = row.createCell((short) 0);
cell.setCellStyle(cellStyle);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("标题 ");
总之,如本篇文章所演示的一样,Java程序员不必担心Excel工作表中的数据了,利用Jakarta POI API,
我们就可以轻易的在程序中存取Excel文档。
相关推荐
POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI...
以下是一个简化的示例,演示了如何使用POI导出Excel: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io....
在本场景中,我们关注的是如何使用 POI 来创建具有复杂表头的 Excel 导出功能。多表头通常指的是在 Excel 表格中拥有多个层次的列标题,这在处理分类数据或者构建具有嵌套结构的报告时非常有用。 ** poi 导出多表头...
poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值), poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值) poi导出导入封装(使用注解建立实体与excel映射关系+反射设置...
标题中的“poi导出csv文件”指的是使用Apache POI库来生成CSV(逗号分隔值)文件。Apache POI是Java中一个流行的库,它主要用于处理Microsoft Office格式的文件,如Excel。在这个场景中,我们将探讨如何使用POI来...
springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式...
POI导出Excel参考方法 POI(Poor Obfuscation Implementation)是一个Java的API,用于操作Microsoft Office文档,包括Excel、Word、PowerPoint等。下面是POI导出Excel参考方法的相关知识点: 1. POI的基本概念 ...
java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。
在这个“POI导出Excel表格”的实例中,我们将深入探讨如何利用Apache POI进行Excel文件的导入与导出操作。 首先,我们需要在项目中集成Apache POI库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```...
在使用Apache POI导出Excel时,首先需要创建一个`XSSFWorkbook`对象作为工作簿,然后通过工作簿创建`XSSFSheet`对象代表工作表。例如: ```java XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet sheet =...
以上就是使用Java POI导出Excel的基本步骤。你可以根据实际需求调整代码,例如添加数据遍历、样式设置、图表生成等功能。确保正确管理资源,避免内存泄漏,特别是在服务器端处理大量数据时。记得在完成后关闭工作簿...
【标题】"POI导出(数据库数据)"所涉及的知识点主要集中在使用Apache POI库来导出数据库中的数据到Excel文件。Apache POI是一个流行的开源Java API,它允许开发者创建、修改和显示Microsoft Office格式的文件,尤其...
在“POI导出多个sheet工作表Demo”中,我们将探讨如何利用Apache POI库来创建一个Excel文档,并在其中添加多个工作表,每个工作表可能代表不同的数据模块或分析部分。 首先,我们需要在项目中引入Apache POI库。...
Struts2和Apache POI是Java开发中处理Web应用程序数据导出到Excel的常用工具。...以上就是使用Struts2和Apache POI导出数据到Excel的基本流程和关键知识点,实际应用中可能需要根据具体需求进行调整和优化。
【作品名称】:基于Apache POI导出大数据量(百万级)Excel的实现 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:...
"poi导出excel需要的jar"指的是在使用Apache POI进行Excel导出时,你需要包含特定的JAR依赖文件。 首先,要实现POI导出Excel的功能,你需要下载Apache POI相关的JAR文件。这些文件通常包括以下核心组件: 1. **poi...
标题中的“poi导出最简单”指的是使用Apache POI库在Java中进行Excel文件导出的一个简化示例。Apache POI是Java社区中广泛使用的库,它允许开发者创建、修改和显示Microsoft Office格式的文件,其中包括Excel(XLS和...
在描述中提到的"POI导出.pdf,.doc,.xls,.jpg四种格式通用组件",意味着该组件不仅限于处理Microsoft Office文档,还支持生成PDF和图像文件(如.jpg),实现了多种文件格式间的转换和导出。 1. **Apache POI 概述**...
这篇博客“java POI 导出复杂要求的表格”可能详细介绍了如何使用POI库来创建和定制满足特定需求的Excel表格。 在处理复杂的表格时,POI提供了广泛的API,可以处理单元格的样式、数据类型、公式以及工作表的各种...
在“POI导出Excel例子”中,我们首先需要了解几个核心类: 1. **HSSFWorkbook**:这是用于创建Excel 2003(.xls)文件的工作簿对象。如果你需要创建Excel 2007及以上版本的.xlsx文件,你应该使用XSSFWorkbook类。 ...