使用POI将表导出为ex​​cel / word

时间:2009-05-10 15:06:44

标签: java jsp

我希望代码使用POI将表/报表导出到Excel和Word。 我看到了POI附带但无法理解的示例。任何人都可以为我提供一个小/简单的代码来做同样的事情。

1 个答案:

答案 0 :(得分:2)

看到您想要使用POI的实际代码。以下是一些做出口的事情:

import java.util.Date;
import java.util.List;
import java.util.ListIterator;
import java.util.StringTokenizer;
import java.io.*;
import org.apache.poi.hssf.usermodel.*;


public class XLSExporter implements Exporter {

    /**
     * Constructor for XLSExporter
     */
    public XLSExporter(){
    }


    public void exportFile( File f, List o ) throws IOException{

        HSSFWorkbook wb = new HSSFWorkbook();
        FileOutputStream fileOut = new FileOutputStream(f);

        HSSFSheet sheet = wb.createSheet();


        ListIterator it = o.listIterator();

        //Construct the headings
        HSSFRow headingsRow  = sheet.createRow((short)0); 


        //Heading format
        HSSFFont headingFont = wb.createFont();
        headingFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
        HSSFCellStyle headingStyle = wb.createCellStyle();
        headingStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
        headingStyle.setFont(headingFont);


        HSSFCell headingA = headingsRow.createCell((short)0);
        headingA.setCellValue("Heading");
        headingA.setCellStyle(headingStyle);




        int i = 1;
        // Iterate over the rows
        while(it.hasNext()){


            //Create the row
            HSSFRow row  = sheet.createRow((short)i); 

            //Write data
            HSSFCell cellRunway = row.createCell((short)0);
            cellRunway.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
            cellRunway.setCellValue("Whateva");             
            cellRunway.setCellStyle(standardStyle);



            i++;
        }

        //Set the column widths where needed
        sheet.setColumnWidth((short)1, (short)4000); 


        wb.write(fileOut); // Write the workbook
        fileOut.close();
    }

}