![](/img/trans.png)
[英]I am sending different-different PDF to different mail from excel file using Java mail API, getting corrupted on receivers mail?
[英]How can I stop the output excel file from getting corrupted?
我正在從以下代碼創建報告並使用石英調度程序對其進行調度,但是當它被保存時,它被破壞了..
public class GenerateReport implements Job{
XSSFWorkbook report = new XSSFWorkbook();
MyData myData = new MyData();
public XSSFWorkbook createReport() {
Map<Integer, String> data = new HashMap<Integer, String>();
myData.setData(1652, "Abcs");
myData.setData(1682, "ksaos");
myData.setData(1152, "oass");
myData.setData(1962, "Aajas");
data = myData.getData();
XSSFSheet sheet = report.createSheet("Employee data");
XSSFCellStyle headerStyle = report.createCellStyle();
XSSFFont headerFont = report.createFont();
headerFont.setBold(true);
headerStyle.setFont(headerFont);
XSSFCell cell = null;
XSSFRow row;
int rowNum = 0;
int colNum = 0;
row = sheet.createRow(rowNum++);
row.createCell(colNum++).setCellValue("ID");
row.createCell(colNum).setCellValue("Name");
for(Map.Entry<Integer, String> entry: data.entrySet()) {
colNum = 0;
row = sheet.createRow(rowNum++);
cell = row.createCell(colNum++);
cell.setCellValue(entry.getKey());
cell = row.createCell(colNum);
cell.setCellValue(entry.getValue());
}
return report;
}
public void saveReport() {
XSSFWorkbook finalWorkbook = new XSSFWorkbook();
try {
FileOutputStream fos = new FileOutputStream("C:\\Users\\ra185586\\Desktop\\written.xlsx");
finalWorkbook.write(fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.print("Report generated");
}
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
createReport();
saveReport();
System.out.println(" and saved");
}
}
你們能不能幫我解決一下,這樣當報告被保存時,它就不會被破壞。 謝謝!
您的方法 createReport() 返回 XSSFWorkbook。 並且您需要將此 XSSFWorkbook 傳輸到 saveReport。
- 在saveReport(createReport());
上execute
兩行saveReport(createReport());
- 在saveReport
XSSFWorkbook finalWorkbook = new XSSFWorkbook();
中saveReport
XSSFWorkbook finalWorkbook = new XSSFWorkbook();
- 在saveReport
saveReport(XSSFWorkbook finalWorkbook)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.