日期:2014-05-17  浏览次数:20714 次

在web项目中,java导出excel问题?
java导出excel时,如何控制导出生成的excel的表格宽度(用代码,页面jsp)

------解决方案--------------------
要看你所使用的包,是jxl 还是poi 还是Aspose Cell
------解决方案--------------------
用 POI 吧。sheet.setColumnWidth((short) ...
http://hi.baidu.com/lc2tp/blog/item/80dbf809642c0dc93bc7639a.html
------解决方案--------------------
最好能让其自动根据百分比生成表格宽和高。


根据数据的长度控制?
------解决方案--------------------
探讨
最好能让其自动根据百分比生成表格宽和高

------解决方案--------------------
建议使用poi
------解决方案--------------------
http://my.oschina.net/i33/blog/42031
------解决方案--------------------
good for us
------解决方案--------------------
你使用什么包,是jxl 还是poi 还是Aspose Cell
------解决方案--------------------
之前总结的 供楼主参考

Java code

package com.test.excel;

import org.apache.poi.hssf.usermodel.HSSFCellStyle; 
import org.apache.poi.hssf.usermodel.HSSFFont; 
import org.apache.poi.hssf.usermodel.HSSFRichTextString; 
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 org.apache.poi.hssf.util.CellRangeAddress; 
import org.apache.poi.hssf.util.Region; 
import org.apache.poi.ss.usermodel.CellStyle; 
import org.apache.poi.ss.usermodel.RichTextString;

import com.test.db.DB;
import com.test.serch.Xin;
import com.test.serch.Xlist;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream; 
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import javax.servlet.http.HttpServlet; 

public class excel extends HttpServlet 
{ 
    
    public static String outputFile = "c:\\test.xls"; 
    @SuppressWarnings({ "deprecation", "unchecked" })
    public boolean excel()  throws SQLException 
    {
        /*
         * 
         * 创建excel表格
         * 
         * 
         * 
         */
         HSSFWorkbook wb = new HSSFWorkbook();//创建一个工作间
          HSSFSheet sheet = wb.createSheet("sheet1");//创建一个sheet
          HSSFRow row = sheet.createRow(0);//创建一行
          HSSFCell cell = row.createCell((short) 0);//创建这行的第一个元素.从0开始
          cell.setCellValue("序号");//写入内容
          cell = row.createCell((short) 1);
          cell.setCellValue("书名");
          cell = row.createCell((short) 2);
          cell.setCellValue("数量");
          /*
           * 
           * 将数据库的信息存到链表里面
           * 
           * 
           * 
           * 
           */
          ArrayList<Xin> X=new  ArrayList();
            ResultSet rs=null; 
            Xin nu=new Xin();  
            String  sql="select * from book" ;
             DB sqle=new DB();
            rs= sqle.db(sql);
        while(rs.next())
        {
             Xin x=new Xin();
               x.setXid(rs.getString(1));
               x.setXname(rs.getString(2));
                x.setXnumber(rs.getInt(5)-rs.getInt(6));
              X.add(x);
        }
        System.out.println("链表长度"+ X.size());
          
          
          
          /*
           * 
           * 
           *  循环遍历链表取出来值放到相应的excel表格的行列中;
           *  
           *  取值方法:         先得到链表的第i个位置一组,然后在把这组相应的内容get出来
           * 
           * 
           * 
           * 
           */
          for(int i = 0 ; i < X.size() ; i++)
          {