Apache POI操做xls文件

1、得到POI包java

wget http://apache.fayea.com/poi/release/bin/poi-bin-3.14.tar.gzapache

2、解開後導入構建路徑測試

3、測試excel

package www.zjptcc.wxw.poi;

import org.apache.poi.hpsf.DocumentSummaryInformation;
import org.apache.poi.hpsf.SummaryInformation;
import   org.apache.poi.hssf.usermodel.*;   
import   java.io.FileOutputStream;//   code   run   against   the   jakarta-poi-1.5.0-FINAL-20020506.jar.   
import java.util.Date;
public   class   PoiTestWrite     
{     
    private static HSSFWorkbook wb;

	static   public   void   main(String[]   args)   throws   Exception   
    {     
        FileOutputStream   fos   =   new   FileOutputStream( "./test.xls");     
        wb = new   HSSFWorkbook();     
        HSSFSheet   first_sheet   =   wb.createSheet();   
        wb.setSheetName(0,   "first   sheet ");   
        HSSFRow   row   =   first_sheet.createRow(0);   
        HSSFCell   cell   =   row.createCell(0);   
        cell.setCellValue( "Hello!   This   message   is   generated   from   POI. ");   
        //建立單元格
        HSSFSheet test_sheet = wb.createSheet("Test");// 建立工做表(Sheet)
        row = test_sheet.createRow(0);// 建立行,從0開始
        cell = row.createCell(0);// 建立行的單元格,也是從0開始
        cell.setCellValue("李志偉");// 設置單元格內容
        row.createCell(1).setCellValue(false);// 設置單元格內容,重載
        row.createCell(2).setCellValue(new Date());// 設置單元格內容,重載
        row.createCell(3).setCellValue(12.345);// 設置單元格內容,重載
        
        //建立批註
        HSSFPatriarch patr = test_sheet.createDrawingPatriarch();
        HSSFClientAnchor anchor = patr.createAnchor(0, 0, 0, 0, 5, 1, 8, 3);//建立批註位置
        HSSFComment comment = patr.createCellComment(anchor);//建立批註
        comment.setString(new HSSFRichTextString("這是一個批註段落!"));//設置批註內容
        comment.setAuthor("李志偉");//設置批註做者
        comment.setVisible(true);//設置批註默認顯示
        cell = test_sheet.createRow(2).createCell(1);
        cell.setCellValue("測試");
        cell.setCellComment(comment);//把批註賦值給單元格
        
        //建立文檔摘要信息
        wb.createInformationProperties();//建立文檔信息
        DocumentSummaryInformation dsi= wb.getDocumentSummaryInformation();//摘要信息
        dsi.setCategory("類別:Excel文件");//類別
        dsi.setManager("管理者:李志偉");//管理者
        dsi.setCompany("公司:--");//公司
        SummaryInformation si = wb.getSummaryInformation();//摘要信息
        si.setSubject("主題:--");//主題
        si.setTitle("標題:測試文檔");//標題
        si.setAuthor("做者:李志偉");//做者
        si.setComments("備註:POI測試文檔");//備註
        
        wb.write(fos);     
        fos.close();     
        System.out.println("xls文件被保存!");

    }   
}

4、code

5、讀orm

package www.zjptcc.wxw.poi;

import   org.apache.poi.poifs.filesystem.*;
import   org.apache.poi.hssf.usermodel.*;   
import   java.io.*;
public   class   PoiTestRead     
{     
    private static HSSFWorkbook wb;

	static   public   void   main(String[]   args)   throws   Exception   
    {     
  
 	POIFSFileSystem fs=new POIFSFileSystem(new FileInputStream("./111.xls"));    
	wb = new HSSFWorkbook(fs);
	HSSFSheet    sheet=wb.getSheetAt(1);	//獲得Excel工做表的sheet編號,0開始 
	HSSFRow	  row=sheet.getRow(1);		//獲得Excel工做表指定行,參數0開始對應excel表第1行 
	HSSFCell  cell=row.getCell(3);		//獲得Excel工做表指定行的單元格(列),參數0開始對應excel表第A列
	String msg = cell.getStringCellValue();	//獲得單元格內容

	System.out.println("從當前目錄下讀取excel文件:111.xls...");
        System.out.print("第二個sheet 2D單元格的內容:");
	System.out.println(msg);

	sheet=wb.getSheetAt(0);
	row=sheet.getRow(0);
	cell=row.getCell(0);
	System.out.print("第一個sheet 1A單元格的內容:");
	System.out.println(cell.getStringCellValue());
    }   
}
相關文章
相關標籤/搜索