package com.eapt.uc.hkstock.action;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.Region;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.eapt.base.EAPTBaseAction;
import com.eapt.constants.FtcontractConstants;
import com.eapt.query.FtcontractheaderQuery;
import com.eapt.query.InreferencelineManageQuery;
import com.eapt.uc.hkstock.form.InreferencelineSearchCondition;
import com.eapt.uc.hkstock.form.InreferencelineSearchForm;
import com.eapt.vo.EaptCustomer;
import com.eapt.vo.EaptFtcontractheader;
import com.eapt.vo.EaptFtcontractline;
import com.stony.core.exception.RunException;
import com.stony.core.util.CoreUtils;
import com.stony.core.util.ExcelStyle;
public class InreferencelineManageExcelAction extends EAPTBaseAction {
protected ActionForward doWork(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
InreferencelineSearchForm sform = (InreferencelineSearchForm) form;
sform.initConditionPost();
InreferencelineSearchCondition condition = (InreferencelineSearchCondition) sform
.getCondition();
InreferencelineManageQuery query = new InreferencelineManageQuery();
query.setInreferencecode(condition.getInreferencecode());
query.setPaymentcustomerno(getPaymentcustomernos(request));
query.setPaymentcustomercode(condition.getPaymentcustomercode());
query.setPaymentcustomername(condition.getPaymentcustomername());
query.setVendorcode(condition.getVendorcode());
query.setPono(condition.getPono());
query.setPartno(condition.getPartno());
query.setStockintime(condition.getStockintime1(), condition
.getStockintime2());
query.setPageRange(sform.getPageinfo());
query.execute();
List results= query.getResults();
setIsStream(response);
response.reset();
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment; filename="
+"xiaoqiang" + ".xls");
OutputStream outputStream = response.getOutputStream();
exportExcel(request, outputStream, results);
return null;
}
public void exportExcel(HttpServletRequest request,
OutputStream outputStream, List results) {
System.out.println("coming");
boolean ishk = false;
POIFSFileSystem fis;
HSSFWorkbook book;
HSSFSheet sheet;
HSSFRow row;
HSSFCell cell;
try {
fis = new POIFSFileSystem(new FileInputStream("c:/p2/expsale.xls"));
book = new HSSFWorkbook(fis);
book.setSheetName(0, "sheet1");
sheet = book.getSheetAt(0);
// 單元風格
HSSFCellStyle style1 = ExcelStyle
.getExpContractExportCellStyle1(book);
// 畫表頭
row = sheet.getRow(8);
cell = row.createCell((short) 10);
cell.setCellStyle(style1);
CoreUtils.setCellValue(cell, ishk, "賣方asjfiasjgfoiajsoifkajoikfjokajgioajsgioasjgjasoigjoaisgj");
book.write(outputStream);
outputStream.close();
System.out.println("out");
} catch (Exception ex) {
ex.printStackTrace();
throw new RunException("error.excel.download");
}
}
}