e7ff85ec890028c392ace7012826d99cea872357.svn-base 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package xin.glue.ui.common.blob;
  2. import java.io.BufferedInputStream;
  3. import java.io.InputStream;
  4. import java.io.OutputStream;
  5. import java.util.zip.GZIPInputStream;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8. import javax.servlet.jsp.JspWriter;
  9. import javax.servlet.jsp.PageContext;
  10. import jxl.Workbook;
  11. import jxl.write.WritableWorkbook;
  12. import com.posdata.glue.dao.vo.PosRowSet;
  13. public class PosExcelStream extends PosBolbManager {
  14. public PosExcelStream(HttpServletRequest request,
  15. HttpServletResponse response, JspWriter out, PageContext pageContext) {
  16. super(request, response, out, pageContext);
  17. }
  18. public void setContext(OutputStream os) throws Exception {
  19. PosRowSet rowSet = (PosRowSet)dataList.get(0);
  20. if (rowSet == null || !rowSet.hasNext()) return;
  21. InputStream in = (InputStream)rowSet.next().getAttribute("BLOBFILE");
  22. if (in == null) return;
  23. WritableWorkbook wb = Workbook.createWorkbook(os,
  24. Workbook.getWorkbook(new BufferedInputStream(new GZIPInputStream(in))));
  25. wb.write();
  26. wb.close();
  27. in.close();
  28. }
  29. }