java如何導(dǎo)出表格

1.在action中添加兩個屬性并添加get和set方法

private ByteArrayOutputStream baos;
private ByteArrayInputStream bais;

2.在action里面增加如下代碼

    /**
    * get the InputStream
    *
    * @return
    */
    public InputStream getInputStream() {
      InputStream is = bais;
    return is;
    }

3.在action中添加導(dǎo)出代碼

List slist=new ArrayList();

//caiwuduizhangdanchaxunjilu.xls文件放到本地項(xiàng)目目錄下的excelMould文件夾下面

InputStream is = new FileInputStream(FileUpload.getExcelMouldFileSystemPath()

+ "caiwuduizhangdanchaxunjilu.xls");

HSSFWorkbook workbook = new HSSFWorkbook(is);

workbook = new  HSSFWorkbookUtil().writeWorkbookCWDZDCXJLList(workbook, returnList);

baos = new ByteArrayOutputStream();

try {

  workbook.write(baos);

} catch (IOException e) {

  e.printStackTrace();

}
byte[] ba = baos.toByteArray();

bais = new ByteArrayInputStream(ba);

return SUCCESS;

4.在HSSFWorkbookUtil類中添加

樣式的方法

public static HSSFCellStyle[] getHSSFCellStyles(HSSFWorkbook workbook) {

List styleList = new ArrayList();

// 設(shè)置樣式 // 正文樣式(12號,宋體,水平居中,垂直居中)

HSSFCellStyle style = workbook.createCellStyle();

HSSFFont font = workbook.createFont();

font.setFontName("宋體");

font.setFontHeightInPoints((short) 12);

style.setFont(font);

style.setAlignment(HSSFCellStyle.ALIGN_CENTER);

style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);

styleList.add(style);

設(shè)置樣式 左對齊

HSSFCellStyle titleStyle = workbook.createCellStyle();

HSSFFont titleFont = workbook.createFont();

titleFont.setFontName("宋體");

titleFont.setFontHeightInPoints((short) 12);

titleStyle.setFont(titleFont);

titleStyle.setAlignment(HSSFCellStyle.ALIGN_LEFT);

titleStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);

styleList.add(titleStyle);
}

寫需要調(diào)取的方法

public HSSFWorkbook writeWorkbookCWDZDCXJLList(HSSFWorkbook workbook,

List list) {

>后面需要用到哪個樣式直接調(diào)用就可以

HSSFCellStyle styles[] = this.getHSSFCellStyles(workbook);

HSSFSheet sheet = workbook.getSheet("Sheet1");

HSSFRow row = null;

HSSFCell cell = null;

// 封裝表頭

// row = sheet.getRow(0);

// row = sheet.getRow(1);

int rowNum = 1;

// 從第二行開始寫數(shù)據(jù)

for (int i = 0; i < list.size(); i++) {

row = sheet.createRow(rowNum++);

Object[] obj = list.get(i);

for (int j = 0; j < obj.length; j++) {

if (obj[j] == null) {

obj[j] = "";

}

}

int lie = 0;

int index = 0;

// 序號

cell = row.createCell(lie++);

cell.setCellStyle(styles[1]);

cell.setCellValue(i + 1);

// 查詢開始日期

cell = row.createCell(lie++);

cell.setCellStyle(styles[1]);

cell.setCellValue(obj[index++].toString());

}

return workbook;

}

5.Struts中的配置文件

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容