excel文件的导入导出 如何将客户端的excel 导入到服务器上和将服务HSSFWorkbook对象导出生成一个excel文件急!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以吗 可是HSSFWorkbook是在运行过程 中生成的啊 利用POI中的HSSF生成的Excel报表原码void createReport(ResultSet rs){ try {ResultSetMetaData rsmd = rs.getMetaData();//获得数据集的列数 int numbercols=rsmd.getColumnCount(); rs.last(); //将数据集游标置为最后一行,获得数据集的行数 int numberrows=rs.getRow(); //生成一个HSSFWorkbook对象,进行操作 HSSFWorkbook wb=new HSSFWorkbook(); //设置显示的字体以及相关的样式 HSSFFont font = wb.createFont(); font.setFontHeightInPoints((short)8); font.setFontName("Courier New"); font.setItalic(false); font.setStrikeout(false); //设置标题栏单元格的样式 HSSFCellStyle cellHeadStyle=wb.createCellStyle(); cellHeadStyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT); cellHeadStyle.setBorderBottom(HSSFCellStyle.BORDER_DOUBLE); cellHeadStyle.setBorderLeft((short)1); cellHeadStyle.setBorderRight((short)1); cellHeadStyle.setBorderTop(HSSFCellStyle.BORDER_DOUBLE); cellHeadStyle.setFillForegroundColor(HSSFColor.LIGHT_ORANGE.index); cellHeadStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); //设置数据行的字体以及以及相关的对齐方式 HSSFCellStyle cellDataStyle=wb.createCellStyle(); cellDataStyle.setAlignment(HSSFCellStyle.ALIGN_LEFT); cellDataStyle.setFont(font); //新建一个HSSFSheet对象 HSSFSheet sheet=wb.createSheet("new sheet"); //处理标题行,建立单元格,得到相关表字段名称写入到相关的单元格 HSSFRow row=sheet.createRow((short)0); for(int i=1;i<=numbercols;i++) { HSSFCell cellHead = row.createCell((short)(i-1)); cellHead.setCellStyle(cellHeadStyle); cellHead.setCellValue(rsmd.getColumnLabel(i)); } //重新定位数据行 rs.beforeFirst(); int j=1; //将每一行的数据写入到相应的单元格 while(rs.next() && j<=numberrows) { HSSFRow row1=sheet.createRow((short)j); for(int k=1;k<=numbercols;k++) { HSSFCell cellData = row1.createCell((short)(k-1)); cellData.setCellStyle(cellDataStyle); //设置编码类型,用于支持中文的输出 cellData.setEncoding(HSSFCell.ENCODING_UTF_16); /*判断原来数据的格式,然后以相同的数据格式写入单元格,以方便用户 可以进行一定的统计工作,日期类型和字符串类型使用String类型进行输出 */ if(rsmd.getColumnType(k)==java.sql.Types.INTEGER) cellData.setCellValue(rs.getInt(k)); else if(rsmd.getColumnType(k)==java.sql.Types.VARCHAR) cellData.setCellValue(rs.getString(k)); else if(rsmd.getColumnType(k)==java.sql.Types.REAL) cellData.setCellValue(rs.getDouble(k)); else cellData.setCellValue(rs.getString(k)); } j++; }//利用输出流将数据集写入到硬盘的文件中,操作结束后,关闭输出流 FileOutputStream fileOut = new FileOutputStream("c:\\reportExport.xls"); wb.write(fileOut); fileOut.close(); }catch(Exception e ){}} jquery 失效问题 SQL语句查询控制时间范围,大家帮忙分析下怎么改 问高手们一个关于下载的问题,我在线等.... 我不会分页 如何不用Spring自己手写HibernateTemplate?高手留步啊!!! 高手路过近来看下,100分跪求 hibernate得到数据 如何让它在jsp中显示 jsp如何定义动态数组 关于分页的一个问题 請問誰知道那里有ACCESS97英文版下載 JSP中对弹出魔术窗口,如何去掉弹出窗口右上角的"X"按钮?在线等! 谁 帮忙介绍几本 有限状态机 方面的书??/谢谢,再线急等
可是HSSFWorkbook是在运行过程 中生成的啊
void createReport(ResultSet rs)
{
try
{
ResultSetMetaData rsmd = rs.getMetaData();
//获得数据集的列数
int numbercols=rsmd.getColumnCount();
rs.last();
//将数据集游标置为最后一行,获得数据集的行数
int numberrows=rs.getRow();
//生成一个HSSFWorkbook对象,进行操作
HSSFWorkbook wb=new HSSFWorkbook();
//设置显示的字体以及相关的样式
HSSFFont font = wb.createFont();
font.setFontHeightInPoints((short)8);
font.setFontName("Courier New");
font.setItalic(false);
font.setStrikeout(false);
//设置标题栏单元格的样式
HSSFCellStyle cellHeadStyle=wb.createCellStyle();
cellHeadStyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
cellHeadStyle.setBorderBottom(HSSFCellStyle.BORDER_DOUBLE);
cellHeadStyle.setBorderLeft((short)1);
cellHeadStyle.setBorderRight((short)1);
cellHeadStyle.setBorderTop(HSSFCellStyle.BORDER_DOUBLE);
cellHeadStyle.setFillForegroundColor(HSSFColor.LIGHT_ORANGE.index);
cellHeadStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
//设置数据行的字体以及以及相关的对齐方式
HSSFCellStyle cellDataStyle=wb.createCellStyle();
cellDataStyle.setAlignment(HSSFCellStyle.ALIGN_LEFT);
cellDataStyle.setFont(font);
//新建一个HSSFSheet对象
HSSFSheet sheet=wb.createSheet("new sheet"); //处理标题行,建立单元格,得到相关表字段名称写入到相关的单元格
HSSFRow row=sheet.createRow((short)0);
for(int i=1;i<=numbercols;i++)
{
HSSFCell cellHead = row.createCell((short)(i-1));
cellHead.setCellStyle(cellHeadStyle);
cellHead.setCellValue(rsmd.getColumnLabel(i));
}
//重新定位数据行
rs.beforeFirst();
int j=1;
//将每一行的数据写入到相应的单元格
while(rs.next() && j<=numberrows)
{
HSSFRow row1=sheet.createRow((short)j);
for(int k=1;k<=numbercols;k++)
{
HSSFCell cellData = row1.createCell((short)(k-1));
cellData.setCellStyle(cellDataStyle);
//设置编码类型,用于支持中文的输出
cellData.setEncoding(HSSFCell.ENCODING_UTF_16);
/*判断原来数据的格式,然后以相同的数据格式写入单元格,以方便用户
可以进行一定的统计工作,日期类型和字符串类型使用String类型进行输出
*/
if(rsmd.getColumnType(k)==java.sql.Types.INTEGER)
cellData.setCellValue(rs.getInt(k));
else if(rsmd.getColumnType(k)==java.sql.Types.VARCHAR)
cellData.setCellValue(rs.getString(k));
else if(rsmd.getColumnType(k)==java.sql.Types.REAL)
cellData.setCellValue(rs.getDouble(k));
else
cellData.setCellValue(rs.getString(k));
}
j++; }
//利用输出流将数据集写入到硬盘的文件中,操作结束后,关闭输出流
FileOutputStream fileOut = new FileOutputStream("c:\\reportExport.xls");
wb.write(fileOut);
fileOut.close();
}catch(Exception e ){}
}