-
Action中處理,包含下載中文檔案亂碼、為空的問題。
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import com.bskcare.ch.base.action.BaseAction;
import com.bskcare.ch.service.ProductCardService;
import com.bskcare.ch.util.DateUtils;
import com.bskcare.ch.vo.ProductCard;
import com.opensymphony.xwork2.ModelDriven;
public class ProductCardAction2 extends BaseAction implements
ModelDriven{
private static final long serialVersionUID = 6658682414884709427L;
@Autowired
private ProductCardService productCardService;
private ProductCard pc;
private String fileName; // 下載檔名稱
private InputStream excelFile; // 下載檔案流
public ProductCard getModel() {
if (null == pc)
pc = new ProductCard();
return pc;
}
public String download() throws Exception {
HSSFWorkbook workbook = xxx(); //這個為呼叫service層返回的HSSFWorkbook物件
ByteArrayOutputStream output = new ByteArrayOutputStream();
workbook.write(output);
byte[] ba = output.toByteArray();
excelFile = new ByteArrayInputStream(ba);
output.flush();
output.close();
return "excel";
}
public String getDownloadFileName() {
return fileName;
}
public ProductCard getPc() {
return pc;
}
public void setPc(ProductCard pc) {
this.pc = pc;
}
/**
* 返回型別為"中文名字-20130612231234.xls"
* @return
*/
public String getFileName() throws Exception{
String tempName = "中文名字"+"-"
+ DateUtils.formatDate(DateUtils.LONG_DATE_PATTERN_PLAIN, new Date())
+ ".xls";
fileName = new String(tempName.getBytes(), "ISO8859-1");
System.out.println(fileName);
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public InputStream getExcelFile() {
return excelFile;
}
public void setExcelFile(InputStream excelFile) {
this.excelFile = excelFile;
}
}
-
struts.xml下載項配置說明:
<!-- 下載匯出excle -->
application/vnd.ms-excel,charset=ISO8859-1
attachment;filename="${fileName}"
4096
excelFile
END
Struts2匯出Excel步驟及問題彙總(二) 下載
該部分內容是在《Struts2匯出Excel步驟及問題彙總(一)》的前提下完成的。
---------------------->>轉載於:
方法/步驟
注意事項
-
請注意文中加粗部分內容
-
中文解決辦法彙總:
程式碼部分:
String tempName = "中文名字"+"-"
+ DateUtils.formatDate(DateUtils.LONG_DATE_PATTERN_PLAIN, new Date())
+ ".xls";
fileName = new String(tempName.getBytes(), "ISO8859-1");
配置檔案部分:
application/vnd.ms-excel,charset=ISO8859-1
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29119536/viewspace-1175699/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 二、Git 問題彙總及處理Git
- vue匯出excel表格步驟以及易出錯點VueExcel
- 土製Excel匯入匯出及相關問題探討Excel
- Vue element-ui 裡面的table匯出excel表格 步驟VueUIExcel
- phpExcel實現Excel資料的匯入匯出(全步驟詳細解析)PHPExcel
- expdpnf 匯出問題總結
- Dbeaver 匯出Excel 格式變化的問題Excel
- maatwebsite/excel": "^3.1 匯入excel 問題WebExcel
- mybatis常見庫及問題彙總MyBatis
- JVM問題排查步驟JVM
- struts2總結(三)--官網下載struts2的jar包JAR
- Redis問題彙總Redis
- 安全問題彙總
- RecyclerView問題彙總View
- CSS問題彙總CSS
- mount命令詳解及常見問題彙總
- JavaScript 中精度問題及解決思路彙總JavaScript
- 關於dataguard出現問題的檢查步驟
- MATLAB匯入txt和excel檔案技巧彙總:批量匯入、單個匯入MatlabExcel
- 匯出excelExcel
- POI的使用及匯出excel報表Excel
- Flutter-安裝步驟及安裝遇到的問題Flutter
- laravel-admin 使用laravels時,excel匯出異常的問題LaravelExcel
- TRMM降水資料下載步驟
- VMWare Station 問題彙總
- openni niviewer問題彙總View
- pandas包 問題彙總
- OPNET使用問題彙總
- Logback使用問題彙總
- 電腦製作excel表格全步驟 excel製作表格的步驟教程Excel
- vue excel匯入匯出VueExcel
- 編譯Spring原始碼的步驟及一些問題編譯Spring原始碼
- Java匯出ExcelJavaExcel
- Vue匯出ExcelVueExcel
- PHP 匯出 ExcelPHPExcel
- PHP匯出EXCELPHPExcel
- 【等保】二級等保常見問題解答彙總
- Angular2 興趣小組 & 問題及回答彙總Angular
- 基於Google earth engine python API做基於影像的定量反演——步驟及問題總結GoPythonAPI