/webccr/src/com/emis/caesar/emisCommonExcelWriteTask.java
https://bitbucket.org/sanliou/synccr · Java · 75 lines · 52 code · 18 blank · 5 comment · 1 complexity · 81e7086e5fb1055a2af1a1b26b1dd14a MD5 · raw file
- package com.emis.caesar;
- import java.sql.ResultSet;
- import java.sql.ResultSetMetaData;
- import javax.servlet.ServletContext;
- import com.emis.db.emisConnection;
- import com.emis.db.emisDb;
- import com.emis.db.emisDbRun;
- import com.emis.file.emisExcelWriter;
- import com.emis.file.emisFile;
- import com.vaadin.ui.UI;
- public class emisCommonExcelWriteTask extends emisProgressTask {
- String m_SQL;
- String m_fileName;
- final emisProgressTask thisTask = this;
-
- public emisCommonExcelWriteTask(ServletContext application , UI ui, String sSQL , String fileName ) {
- super(application,ui);
- m_SQL=sSQL;
- m_fileName = fileName;
- }
-
- @Override
- public void run() {
-
- try {
-
- //thisTask.setStatus("start");
- final emisExcelWriter eew = new emisExcelWriter( m_fileName );
- eew.createSheet("eprint");
- emisDb.getInstance().execute(new emisDbRun() {
- @Override
- public Object run(emisConnection c) throws Exception {
-
- ResultSet rs = c.createStatement().executeQuery(m_SQL);
- ResultSetMetaData meta = rs.getMetaData();
- int columnCount = meta.getColumnCount();
- Object [] row = new Object[columnCount];
- int statusCnt = 0;
- int iRows = 0;
- while( rs.next() ) {
- for(int i=1;i<=columnCount;i++) {
- row[i-1]=rs.getString(i);
- }
-
- eew.writeRow(row);
- statusCnt++;
- iRows++;
- //if(statusCnt > 1000) {
- // statusCnt = 0;
- thisTask.setStatus("writing " +iRows);
- //}
- }
- return null;
- }
-
- });
- eew.close();
- thisTask.setStatus("Complete");
-
- } catch (Exception e) {
- // emisLog.error(emisCommonExcelWriteTask.class, e);
- e.printStackTrace();
- }
-
- }
- }