2010年10月15日金曜日

¥と/の関連性(windowsとlinux)

File.separator;

■Linux
filenamenew = filenamenew.replace("¥¥", "/") + "/list.xls";
■Windows
filenamenew = filenamenew.replace("¥¥", "¥¥") + "¥¥list.xls";

※「¥」は小文字の円マーク

2010年10月4日月曜日

POIでExcel(エクセル)出力するクラス

POIでExcel(エクセル)出力するクラス

-------------------------------------------------------
【利用方法】
import pois.CreateExcelFile;

CreateExcelFile cef = new CreateExcelFile();
//エクセルファイル開く
final String INVOICE_FILE = "/WEB-INF/mt.xls";
String filePath = getServletContext().getRealPath(INVOICE_FILE);
cef.setInputFile(filePath);

//エクセルファイルデータ入力
cef.setExcelData(3, 1, company_name);

//エクセルファイル保存
String filenamenew = getServletContext().getRealPath("");
filenamenew = filenamenew.replace("\\", "\\\\") + "\\\\list.xls";
cef.setOutputFile(filenamenew);

-------------------------------------------------------

/* 以下CreateExcelFile.java
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package pois;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Calendar;
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;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

/**
*
* @author occ
*/
public class CreateExcelFile {

POIFSFileSystem filein;
HSSFWorkbook wb;
HSSFSheet sheet1;
HSSFRow rowd;
HSSFCell celld;

public void setInputFile(String strFileName){
//ファイルを読み込みます。
try{
filein = new POIFSFileSystem(new FileInputStream(strFileName));
//新規ワークブックを作成する
wb = new HSSFWorkbook(filein);
//新規ワークシートを作成する
sheet1 = wb.getSheetAt(0);
}catch(Exception e){
System.out.println(strFileName + "*********************");
}
System.out.println(strFileName);
}


public void setExcelData(int rowNo, int colNo, String sData){
rowd = sheet1.getRow(rowNo);
celld = rowd.getCell(colNo);
celld.setCellValue(sData);
}

public void setExcelData(int rowNo, int colNo, Calendar sData){
rowd = sheet1.getRow(rowNo);
celld = rowd.getCell(colNo);
celld.setCellValue(sData);
}

public void setOutputFile(String strFileName){
try{
FileOutputStream fileOut = new FileOutputStream(strFileName);
wb.write(fileOut);
fileOut.close();
}catch(Exception e){
System.out.println(strFileName + "*********************");
}
System.out.println(strFileName);
}

}