PHP字串長度找子字串與取代字串的常用函數

PHP在字串的操作上,有非常多的相關函數可以使用,我們在這裡只介紹經常會使用到的字串操作函數。像是如何取得字串的長度、在某一個字裏面尋找子字串首次出現的位置、以及字串的取代函數...等等。這些都是在編寫程式的時候,頻繁被程式設計師使用到的基礎函數。 取得字串長度 <?...

顯示具有 Java Excel 標籤的文章。 顯示所有文章
顯示具有 Java Excel 標籤的文章。 顯示所有文章

2012年6月19日 星期二

運用Java Excel API將excel檔轉為csv檔範例

如何使用Java Excel API來實現將excel檔案自動轉換為csv檔案格式,若沒有JExcel Library可以到http://sourceforge.net/projects/jexcelapi/files/網站上下載.

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.Locale;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.WorkbookSettings;

public class CSVConverter {

  /**
   @param args
   */
  public static void main(String[] args) {
    try {
      OutputStream os = new FileOutputStream(new File("C:\\input.csv"));      
      OutputStreamWriter osw = new OutputStreamWriter(os, "UTF8");
      BufferedWriter bw = new BufferedWriter(osw);

      // 載入Excel文件      
      WorkbookSettings ws = new WorkbookSettings();
      ws.setLocale(new Locale("en""EN"));
      Workbook wk = Workbook.getWorkbook(new File("C:\\input.xls"), ws);

      // 從工作簿(workbook)取得每頁(sheets) 
      for (int sheet = 0; sheet < wk.getNumberOfSheets(); sheet++) {
        Sheet s = wk.getSheet(sheet);

        bw.write(s.getName());
        bw.newLine();

        Cell[] row = null;

        // 從每頁(sheet)取得每個區塊(Cell)
        for (int i = 0; i < s.getRows(); i++) {
          row = s.getRow(i);

          if (row.length > 0) {
            bw.write(row[0].getContents());
            for (int j = 1; j < row.length; j++) {
              bw.write(',');
              bw.write(row[j].getContents());
            }
          }
          bw.newLine();
        }
      }
      bw.flush();
      bw.close();
    
    catch (Exception e) {
      System.err.println(e.toString());
      e.printStackTrace();      
    }
  }

}