| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package UIB.UIB03.ZBS;
- import java.io.ByteArrayOutputStream;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.util.HashMap;
- import jxl.Workbook;
- import java.io.File;
- import jxl.write.WritableSheet;
- import jxl.write.WritableWorkbook;
- /**
- *
- * @desc 质保书引擎,负责获取模板、选择填充方式
- * @author meiguiping
- * @date 2010 5:18:02 PM
- */
- public class QltyGuaranteeEngine implements IQltyGuaranteeEngine
- {
-
- private HashMap mapHead;
- private DataRowList[] drlChem;
- private DataRowList[] drlQlty;
- private String tmplNO;
-
- public QltyGuaranteeEngine(){}
-
- public QltyGuaranteeEngine(String tmplNO ,HashMap mapHead, DataRowList[] drlChem , DataRowList[] drlQlty)
- {
- this.tmplNO = tmplNO;//模板号
- this.mapHead = mapHead;//表头信息集合
- this.drlChem = drlChem;//成分信息集合
- this.drlQlty = drlQlty;//材质信息集合
- }
-
- public OutputStream getOutputStream(InputStream is) throws Exception
- {
- OutputStream os = this.getWorkBookStream(is);
- return os;
- }
- /**
- * @desc 读取输入流,填入数据后返回输出流
- * @param is
- * @return
- * @throws Exception
- */
- private OutputStream getWorkBookStream(InputStream is) throws Exception
- {
- OutputStream os = new ByteArrayOutputStream();//建立输出流,填入数据的EXCEL形成该输出流
- Workbook wBook = Workbook.getWorkbook(is);//获取EXCEL对象,生成工作薄
- //Workbook wBook = Workbook.getWorkbook(new File("E:\\a.xls"));
- WritableWorkbook wwBook = Workbook.createWorkbook(os, wBook);//创建可操作副本
- WritableSheet wSheet = wwBook.getSheet(0);//获取第0个工作表
-
- IQltyGuaranteeBuilder explorer = null;
- if("A".equals(tmplNO.substring(0,1)))
- {
- //A类型质保书......
- explorer = new QltyGuaranteeBuilderA(wSheet);
- }
- else if("B".equals(tmplNO.substring(0,1)))
- {
- //B类型质保书......
- explorer = new QltyGuaranteeBuilderB(wSheet);
- }
- explorer.buildQltyGuarantee(tmplNO, mapHead, drlChem, drlQlty);
-
- wwBook.write();
- os.close();
- wwBook.close();
- wBook.close();
- return os;
- }
-
-
- }
|