这两天在学习了程序生成excel报表
Java中生成excel主要有两种:POI和Excel API
我用到的是POI。。。。。
以下是我测试的代码:
Java类:
public class PoiTest {
public static void main(String[] args) throws Exception {
FileOutputStream fos = new FileOutputStream("d:\\foo.xls");
String sql = "select * from fullsegment";
List list = new ArrayList();
list = new ExcelDao().Select(sql);
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet s = wb.createSheet();
wb.setSheetName(0, "Matrix");
for(short i=0; i<list.size(); i++) {
HSSFRow row = s.createRow(i);
for(short j=0; j<6; j++) {
HSSFCell cell = row.createCell(j);
//cell.setCellValue(""+i+","+j);
cell.setCellFormula((String) ((List)list.get(i)).get(j));
//cell.set
}
}
wb.write(fos);
fos.close();
}
}
dao类:
public class ExcelDao {
private Connection conn = null;
public ExcelDao() {
conn = new DBProfile().initDB();
}
public List Select(String sql){
List list = new ArrayList();
List list1 = new ArrayList();
try {
Statement smt = conn.createStatement();
ResultSet rs = smt.executeQuery(sql);
while(rs.next()){/*
int start = rs.getInt("start");
int end = rs.getInt("end");
String area = rs.getString("area");
int areaid = rs.getInt("areaid");
int type = rs.getInt("type");
int cityid= rs.getInt("cityid");*/
list.add(rs.getString("start"));
list.add(rs.getString("end"));
list.add(rs.getString("area"));
list.add(rs.getString("areaid"));
list.add(rs.getString("type"));
list.add(rs.getString("cityid"));
list1.add(list);
}
rs.close();
smt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list1;
}
}
数据库表:
CREATE TABLE `fullsegment` (
`start` bigint(13) unsigned NOT NULL default '0',
`end` bigint(13) unsigned NOT NULL default '0',
`area` varchar(10) character set utf8 NOT NULL default '',
`areaid` smallint(9) NOT NULL default '0',
`type` tinyint(3) NOT NULL default '0',
`cityid` smallint(5) NOT NULL default '0',
UNIQUE KEY `start` (`start`,`end`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
以上代码我测试过,成功的话,会在D盘下创建一个foo.xls文件,如果表中记录不为空,
那么excel表中是有记录的。。。。。。
补充:
在查询数据库记录时,是有一个问题的,得到结果集之后取数据,如果是这样取数据:
int start = rs.getInt("start");
int end = rs.getInt("end");
String area = rs.getString("area");
int areaid = rs.getInt("areaid");
int type = rs.getInt("type");
int cityid= rs.getInt("cityid");*/
那么会跑出一个sql异常:。。。is outside valid range for the datatype integer.
因为数据库表中字段的类型是bigint类型的
类型不匹配,就跑出上面的异常。。。。。解决方案未找到,但不会影响程序的运行
因此我用的是这种方式取数据:
list.add(rs.getString("start"));
list.add(rs.getString("end"));
list.add(rs.getString("area"));
list.add(rs.getString("areaid"));
list.add(rs.getString("type"));
list.add(rs.getString("cityid"));
分享到:
相关推荐
### POI生成Excel报表知识点详解 #### 一、Apache POI简介 Apache POI是Apache软件基金会的一个开源项目,主要用于处理Microsoft Office格式的文件。它提供了API来读写Word、Excel等Office文档格式。其中,处理...
在本场景中,我们关注的是如何利用POI来生成Excel报表以及处理Word文档。 一、Java POI与Excel报表生成 1. 创建Excel工作簿(Workbook):在Java中,我们首先需要创建一个`XSSFWorkbook`对象,它代表Excel工作簿。`...
通过分析和学习这个文件,你可以更好地理解如何用Apache POI生成带有合并列的Excel报表。 总结起来,Apache POI提供了一整套API来操作Excel文件,包括创建、修改和读取。在生成具有合并列和层次结构的报表时,我们...
在这个场景中,我们需要关注的是如何使用 POI 来生成具有合并列和行的 Excel 报表。 生成带有合并列和行的 Excel 报表主要涉及到两个关键方法:`mergeRow` 和 `genMergeCellByContent`。接下来,我们将详细介绍这两...
在压缩包文件“GreateExcel”中,可能包含了示例代码或教程,用于演示如何使用Apache POI生成Excel报表。通过阅读和学习这个文件,开发者可以更好地理解和掌握使用Apache POI创建Excel报表的具体方法和技巧,提升...
总的来说,Apache POI 和 JExcelAPI 都是强大的工具,能够帮助Java开发者生成Excel报表。根据项目的具体需求和复杂性,可以选择适合的库进行使用。在实际开发中,务必确保选择的库版本与Java环境兼容,并根据项目...
**POI生成Excel** 生成Excel文件主要涉及以下步骤: 1. **创建Workbook对象**:这是Excel文件的顶级容器,可以是XSSFWorkbook(.xlsx格式)或HSSFWorkbook(.xls格式)。 2. **创建Sheet对象**:Sheet代表Excel...
Apache POI 是一个开源项目...以上是Apache POI生成Excel表格的基本知识点和操作步骤。通过这些示例,你可以理解如何在Java应用中利用POI进行Excel文件的创建、读取和修改,以及如何结合数据库操作实现数据的导入导出。
标题 "POI 生成EXCEL2007【含例子】" 涉及到的知识点主要集中在Apache POI库的使用上,这是一个强大的Java API,用于读取、写入和修改Microsoft Office格式的文件,特别是Excel文件。在这个场景中,重点是创建和操作...
在Java编程环境中,生成Excel报表是一项常见的任务,特别是在数据分析、数据导出或报表制作的场景中。本示例关注的是如何使用Java根据模板格式来创建适用于打印的专业Excel报表。这通常涉及到对Apache POI库的使用,...
在"Struts结合poi.jar生成Excel报表"的案例中,开发者首先需要将poi.jar库引入到项目中。这通常通过Maven或Gradle等依赖管理工具完成,或者直接将jar包添加到项目的类路径中。 poi.jar库包含了处理Excel文件所需的...
标题中的“生成excel报表(poi)公用方法AExcuteExcel”指的是使用Apache POI库来创建Excel报表的一个通用方法,名为“AExcuteExcel”。Apache POI是Java领域中广泛使用的库,它允许开发者读写Microsoft Office格式...
3. Excel 文件格式:Excel 是一个电子表格软件,广泛应用于数据分析和报表生成。 4. 生成 Excel 文件:使用 POI 库可以生成 Excel 文件,并将其写入输出流。 5. 下载文件:使用 SpringMVC 框架可以处理下载请求,并...
### POI 导入导出 Excel 生成报表详解 #### 一、概述 Apache POI 是一个用于读写 Microsoft Office 格式文件的 Java API,其中包括对 Excel 文件的支持。通过 POI,我们可以轻松地实现 Excel 文件的创建、读取、...
在IT行业中,生成各种类型的文档是常见的需求,例如PDF、Word和Excel报表。本文将深入探讨如何使用ITEXT库导出PDF和Word,以及利用Apache POI库导出Excel报表文件。 首先,让我们来了解ITEXT库。ITEXT是一个开源...
利用Java POI,你可以方便地将数据导出到Excel报表中。除了基础的数据填充外,还可以实现复杂的表格布局、图表生成等功能。这对于需要定期生成报告或分析数据的应用场景尤其有用。 ### 五、总结 通过以上内容,我们...
在本文中,我们将深入探讨如何使用Java POI库根据已有的Excel模板生成新的Excel文件。 首先,理解“模板”在Excel中的概念非常重要。模板通常包含预设的格式、样式、公式和数据结构,可以作为创建新文件的基础。在...
总结一下,Apache POI提供了一套强大的工具来处理Excel文件,使得在Java应用程序中生成Excel报表变得简单。在这个例子中,我们学习了如何创建一个新的工作簿,添加工作表,设置表头,插入数据行,以及最终保存到文件...
这篇博客"JAVA使用POI生成Excel文件"主要介绍了如何利用Apache POI来创建和操作Excel文档。 首先,我们需要了解Apache POI的基本概念。Apache POI是Apache软件基金会的一个开源项目,它提供了Java API,使得开发者...
### POI的EXCEL导出,自动换行 在日常工作中,经常需要处理大量的数据导入导出任务,...无论是简单的数据导出还是复杂的报表生成,POI都能够提供相应的解决方案。希望本文能够帮助大家更好地理解和使用Apache POI。