ExcelUtil以及匯出

來源:互聯網
上載者:User

標籤:io   ar   os   sp   java   for   檔案   on   資料   

工具 ExcelUtil

package com.bjsxt.util; import java.io.FileOutputStream;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.Iterator;import java.util.List; import javax.naming.spi.DirStateFactory.Result; import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook; import com.bjsxt.po.Teacher; /** * * @author zhai *excel_test<---->com.bjsxt.util *2014-10-23上午12:27:18 Verson-1.0 */public class ExcelUtil {  //需要添加標題,  fields  代表User類的屬性,   list 代表資料  public static void write(String[] titleString, String[] fields , List list) throws Exception{      //聲明   HSSFWorkbook workbook=new  HSSFWorkbook();   //建立excel 和標題(主鍵)    HSSFSheet sheet=workbook.createSheet();    HSSFRow  title = sheet.createRow(0);       for(int i=0; i<titleString.length;i++){    //遍曆標題的行列     title.createCell(i).setCellValue(titleString[i]);    }    //聲明受影響的行數    int count =1;       for(Iterator iterator=list.iterator(); iterator.hasNext();){     //放置一個動態資料  reflect     Object obj=iterator.next();     //建立一個row     HSSFRow  row= sheet.createRow(count++);     //擷取dynamic 資料(通用的)      Class cc= obj.getClass();      //擷取使用者屬性      for(int i=0; i<fields.length; i++){       String fileName = fields[i];  //  id   getId       name  getName       //擷取使用者類型屬性       Field filed = cc.getDeclaredField(fileName);            Class  type = filed.getType();     //擷取方法 和方法名     String methodName= "get"+fileName.substring(0,1).toUpperCase()+fileName.substring(1);          Method  method= cc.getDeclaredMethod(methodName);          Object invoke = method.invoke(obj);          if("Integer".equals(type.getSimpleName())){      row.createCell(i).setCellValue((Integer)invoke);     }else if( "String".equals(type.getSimpleName())){      row.createCell(i).setCellValue((String)invoke);     }else{      row.createCell(i).setCellValue("請檢查資料或書寫格式~-~");     }      }           FileOutputStream stream=new FileOutputStream("c:/zsf.xls");      workbook.write(stream);      stream.close();         }  } public static void main(String[] args) throws Exception {  List<Teacher> list= new ArrayList<Teacher>();  for(int i=0; i<30;i++){   list.add(new Teacher(i, "laoliang", "5888"));  }  //對用的索引值對  String[] tiString={"主鍵","姓名","薪水"};  String[]  fields={"id", "name","salary"};   ExcelUtil.write(tiString, fields, list);  }}】測試【package com.bjsxt; import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class Test {  public static void main(String[] args) throws IOException {   HSSFWorkbook workbook =new HSSFWorkbook(); //建立表格 HSSFSheet sheet=workbook.createSheet(); //建立  行 列 HSSFRow row = sheet.createRow(0); HSSFCell cell = row.createCell(0); //寫入資料 cell.setCellValue("zhaisong88"); //輸出到檔案  FileOutputStream  stream =new FileOutputStream("c:/zsf.xls"); workbook.write(stream); System.out.println("OK");     }} 】

ExcelUtil以及匯出

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.