http://www.andykhan.com/

http://www.andykhan.com/

 

JExcelApi is a Java API for reading, writing and modifying the contents of Excel spreadsheets
Orinoco is a Java API for generating text PDF documents

 

 

package excel;

import java.io.*;
import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import jxl.*;
import jxl.write.*;

@SuppressWarnings("unused")
public class ExcelDemo {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  String sourcefile = "test.xls";
  
  ReadFromExcel(sourcefile);
  
  WriteToExcel(sourcefile);
 }
 
 private static void ReadFromExcel(String fileName)
 {
  try
  {
   File file = new File(fileName);
   if(!file.exists())
   {
    return;
   }
   InputStream is = new FileInputStream(fileName);
   
   jxl.Workbook rwb = Workbook.getWorkbook(is);
   
   Sheet rs = rwb.getSheet(0);
   System.out.println("行數: " + rs.getRows());
   System.out.println("列數: " + rs.getColumns());
   
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   
   Date startDate = new Date();   
   System.out.println("ReadFromExcel開始時間: " + sdf.format(startDate));
   String strCell  = "Cell({0}, {1})";
   for(int col = 0;col < rs.getColumns();col++)
   {
    for(int row = 0;row < rs.getRows();row++)
    {
     Cell c00 = rs.getCell(col, row);
     String strc00 = c00.getContents();
     
     System.out.println(MessageFormat.format(strCell,new Object[]{col,row}) + " value : " + strc00 + "; type : " + c00.getType());
    }
    
   }
   Date endDate = new Date();
   System.out.println("ReadFromExcel終了時間: " + sdf.format(endDate));

   rwb.close();
   
   is.close();
  }
  catch(Exception e)
  {
   e.printStackTrace();
  }
 }
 private static void WriteToExcel(String fileName)
 {
  try
  {
   File file = new File(fileName);
   if(file.exists())
   {
    file.delete();
   }
   
   jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(fileName));
   
   //OutputStream os = new FileOutputStream(fileName);
   //jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os);
   
   jxl.write.WritableSheet ws = wwb.createSheet("Test Sheet 1", 0);

   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   
   Date startDate = new Date();   
   System.out.println("WriteToExcel開始時間: " + sdf.format(startDate));
   //jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##");
   //jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(nf);
   for(int col = 0;col < 50;col++)
   {
    for(int rowj = 0;rowj < 1000;rowj++)
    {
     //jxl.write.Number labelNF = new jxl.write.Number(i, j, 3.1415926 * i * j, wcfN);
     jxl.write.Number labelNF = new jxl.write.Number(col, rowj, 3.1415926 * col * rowj);
     ws.addCell(labelNF);
    }
   }
   Date endDate = new Date();
   System.out.println("WriteToExcel終了時間: " + sdf.format(endDate));
   
   wwb.write();
   wwb.close();
  }
  catch(Exception e)
  {
   e.printStackTrace();
  }
 }
}

發佈了28 篇原創文章 · 獲贊 1 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章