excel与java报表开发
2009-12-06 22:22
411 查看
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.SQLException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ExcelFile {
/**
* 写Excel操作
* @param fileName
* 文件名,文件要写入到的盘符和文件名,但不需要后缀名
* @param fieldName
* 表头名
* @param res
* 数据对象,java.sql.ResultSet
*/
public static void writeExcel(String fileName,String [] fieldName,java.sql.ResultSet res)
{
FileOutputStream fos =null;
try {
fos = new FileOutputStream(fileName+".xls");
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet s = wb.createSheet();
createTag(fieldName,s);//写表格的头部
createValue(res,s);//获取数据集,然后获得数据,写文件
wb.write(fos);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally
{
if(fos!=null)
{
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
/**
* 创建表格表头
* @param tags
* @param s
*/
private static void createTag(String [] tags,HSSFSheet s)
{
HSSFRow row = s.createRow(0);
HSSFCell cell = null;
for(int i=0;i<tags.length;i++)
{
cell = row.createCell(i);
cell.setCellValue(tags[i]);
}
}
/**
* 设置表格内容
* @param res
* @param s
*/
private static void createValue(java.sql.ResultSet res,HSSFSheet s)
{
try {
int flag = 1;
int count = res.getMetaData().getColumnCount();
HSSFRow row = null;
HSSFCell cell = null;
while(res.next())
{
row = s.createRow(flag);
for(int i=1;i<=count;i++)
{
cell = row.createCell(i-1);
Object obj = res.getObject(i);
cell.setCellValue(obj+"");
}
flag++;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
test
import com.jn.util.file.office.ExcelFile;
public class ExcelFileText {
public static void main(String [] args)
{
String sql = "select title_id,title,pub_id from titles";
DBAccess dba = new DBAccess();
ExcelFile.writeExcel("D://text",new String[]{"文章编号","文章主题","Pub_ID"},dba.query(sql));
dba.closeConn();
}
}
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.SQLException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ExcelFile {
/**
* 写Excel操作
* @param fileName
* 文件名,文件要写入到的盘符和文件名,但不需要后缀名
* @param fieldName
* 表头名
* @param res
* 数据对象,java.sql.ResultSet
*/
public static void writeExcel(String fileName,String [] fieldName,java.sql.ResultSet res)
{
FileOutputStream fos =null;
try {
fos = new FileOutputStream(fileName+".xls");
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet s = wb.createSheet();
createTag(fieldName,s);//写表格的头部
createValue(res,s);//获取数据集,然后获得数据,写文件
wb.write(fos);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally
{
if(fos!=null)
{
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
/**
* 创建表格表头
* @param tags
* @param s
*/
private static void createTag(String [] tags,HSSFSheet s)
{
HSSFRow row = s.createRow(0);
HSSFCell cell = null;
for(int i=0;i<tags.length;i++)
{
cell = row.createCell(i);
cell.setCellValue(tags[i]);
}
}
/**
* 设置表格内容
* @param res
* @param s
*/
private static void createValue(java.sql.ResultSet res,HSSFSheet s)
{
try {
int flag = 1;
int count = res.getMetaData().getColumnCount();
HSSFRow row = null;
HSSFCell cell = null;
while(res.next())
{
row = s.createRow(flag);
for(int i=1;i<=count;i++)
{
cell = row.createCell(i-1);
Object obj = res.getObject(i);
cell.setCellValue(obj+"");
}
flag++;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
test
import com.jn.util.file.office.ExcelFile;
public class ExcelFileText {
public static void main(String [] args)
{
String sql = "select title_id,title,pub_id from titles";
DBAccess dba = new DBAccess();
ExcelFile.writeExcel("D://text",new String[]{"文章编号","文章主题","Pub_ID"},dba.query(sql));
dba.closeConn();
}
}
相关文章推荐
- Java Excel 报表开发POI
- Java-Excel 报表开发 POI
- Java-Excel报表开发POI
- Java-Excel报表开发POI
- Java-Excel报表开发POI(转于老彭的博客)
- Java-Excel报表开发POI(含POI保护工作表功能)
- Java-Excel报表开发POI(含POI保护工作表功能)
- Java-Excel 报表开发 POI
- Plsql开发html报表Html 复制到excel不去前导0
- java报表开发之报表总述
- 使用C#和Excel进行报表开发(三)-生成统计图(Chart)
- 使用C#和Excel进行报表开发(七)-设置单元格的显示格式
- 用FusionChart开发javaWEB报表
- 详解JAVA POI导出EXCEL报表的操作(包括各种格式及样式的实现)
- 将Excel应用于报表开发中(一)--开始
- 使用C#和Excel进行报表开发(八)-用程序绑定数据源
- 第一篇关于 java excel 开发
- 10、借助POI实现Java生成并打印excel报表(1)
- Java使用POI实现数据导出excel报表
- java生成excel报表