package sample1;
import java.io.File;
import jp.ne.so_net.ga2.no_ji.jcom.IDispatch;
import jp.ne.so_net.ga2.no_ji.jcom.JComException;
import jp.ne.so_net.ga2.no_ji.jcom.ReleaseManager;
public class JcomExcelSample2 {
private static ReleaseManager rm = null;
private static IDispatch xlsApp = null;
private static IDispatch excel = null;
private static IDispatch workbook = null;// 工作薄
private static IDispatch sheets = null;// 所有工作表(是一个数组形式)
private static IDispatch sheet = null;// 单个工作表
private static IDispatch currentSheet = null;// 当前活动的工作表
public static void main(String[] args) {
rm = new ReleaseManager();// 查找JCOM能够操作的组件
try {
xlsApp = new IDispatch(rm, "Excel.Application");
excel = (IDispatch) xlsApp.get("Workbooks");// 得到工作薄
xlsApp.put("Visible", new java.lang.Boolean(false)); // 设置当前对象是否可见
File f = new File("D://testExcel.xls" );
if (f.exists()) {}//判断文件是否存在
workbook = (IDispatch) excel.method("open",
new Object[] {"D://testExcel.xls" }); // 打开工作薄
sheets = (IDispatch) workbook.get("Sheets");
int sheetsCount = Integer.parseInt(sheets.get("Count").toString());// 得到工作表的数量
for (int sheetInx = 1; sheetInx <= sheetsCount; sheetInx++) { // 得到各个工作表的名称
sheet = (IDispatch) sheets.get("item",//按照工作表索引得到工作表
new Object[] { new Integer(sheetInx) });
String sheetName = sheet.get("name").toString();
sheet.put("name", "Nsheet"+sheetInx);//修改当前工作表的名称
}
currentSheet = (IDispatch) xlsApp.get("ActiveSheet"); //得到当前获得的工作表
currentSheet.put("name", "new sheet");
} catch (JComException e) {
e.printStackTrace();
}
}
}