ダウンロードしたのは、以下の3つ
Visual Basic
Visual C#
Visual C++
.NETの特徴としては、言語によらずオブジェクトが使用できるという
メリットがあったと思う。
Basic のプロジェクトでクラスを作成して、それをC# 側から
参照して使用するということをやってみた。
ただし、Basicのプロジェクトでは、Msgbox を出すように
プログラムしたつもりだったのに、実行してみるとMsgbox
を出すところでとまってしまった。つまりクラスの中から
Msgboxを出すことができなかったというわけ。コンソール
に出力することしかできなかった。
Basic で作ったクラスをC++ 側から参照して使用する
こともできた。
2011年9月2日金曜日
2011年9月1日木曜日
Java でExcel を操作する(POIを使用)
Java でExcel を操作することはできないかと探し
以下を参考にしました。
http://www.javadrive.jp/poi/
POIのバージョンは、この時点での最新バージョンで
ある、3.8-beta4を使用しました。
はじめLinuxのJavaの環境でやってみたのですが、
「許可がありません」というメッセージがでてコンパイル
できませんでした。
ただWindowsの環境で動作することが確認できました
ので、いいかなと思っています。
サンプルソース(testというシートを作成する)
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class sample{
public static void main(String[] args){
HSSFWorkbook workbook = new HSSFWorkbook();
workbook.createSheet("test");
FileOutputStream out = null;
try{
out = new FileOutputStream("sample.xls");
workbook.write(out);
}catch(IOException e){
System.out.println(e.toString());
}finally{
try {
out.close();
}catch(IOException e){
System.out.println(e.toString());
}
}
}
}
サンプル2(sample2_1.xlsというファイルを作成する。)
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
import java.io.*;
public class Sample2_1{
public static void main(String[] args){
Workbook wb = new HSSFWorkbook();
FileOutputStream out = null;
try{
out = new FileOutputStream("sample2_1.xls");
wb.write(out);
}catch(IOException e){
System.out.println(e.toString());
}finally{
try {
out.close();
}catch(IOException e){
System.out.println(e.toString());
}
}
}
}
Excelファイルを編集するサンプル。sample2_2.xls を読み出して、左から6列について、2行めに値が入っていたら3行めにCHeck! と記入します。その後sample2_3.xls という名前で保存します。
//import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import java.io.*;
public class Sample2_2{
public static void main(String[] args){
FileInputStream in = null;
Workbook wb = null;
try{
in = new FileInputStream("sample2_2.xls");
wb = WorkbookFactory.create(in);
}catch(IOException e){
System.out.println(e.toString());
}catch(InvalidFormatException e){
System.out.println(e.toString());
}finally{
try{
in.close();
}catch (IOException e){
System.out.println(e.toString());
}
}
Sheet sheet = wb.getSheetAt(0);
Row row1 = sheet.getRow(1);
Row row2 = sheet.createRow(2);
for (int i = 0 ; i < 6 ; i++){
Cell cell = row1.getCell(i);
if (cell != null){
row2.createCell(i).setCellValue("Check!");
System.out.println(cell);
}
}
FileOutputStream out = null;
try{
out = new FileOutputStream("sample2_3.xls");
wb.write(out);
}catch(IOException e){
System.out.println(e.toString());
}finally{
try {
out.close();
}catch(IOException e){
System.out.println(e.toString());
}
}
}
}
登録:
コメント (Atom)