JCOM生成Excel2

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;
/**
 * 使用jCom实现写excel文件的另一种方式(IDispatch)
 * @author admin
 *
 */
public class TestJcom2 {

	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;// 当前活动的工作表

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		rm = new ReleaseManager();// 查找JCOM能够操作的组件
		try {
			System.out.println("----------1--------------");
			xlsApp = new IDispatch(rm, "Excel.Application");
			System.out.println("----------2--------------");
			excel = (IDispatch) xlsApp.get("Workbooks");// 得到工作薄
			System.out.println("----------3--------------");
			xlsApp.put("Visible", new java.lang.Boolean(false)); // 设置当前对象是否可见
			System.out.println("----------4--------------");
			
			File f = new File("D:\\testExcel.xls" ); 
			System.out.println("----------5--------------");
			if (f.exists()) {}//判断文件是否存在
			
			workbook = (IDispatch) excel.method("open",
					new Object[] {"D:\\testExcel.xls" }); // 打开工作薄
			System.out.println("----------6--------------");

			sheets = (IDispatch) workbook.get("Sheets");
			System.out.println("----------7--------------");
			int sheetsCount = Integer.parseInt(sheets.get("Count").toString());// 得到工作表的数量
			System.out.println("----------8--------------");
			for (int sheetInx = 1; sheetInx <= sheetsCount; sheetInx++) { // 得到各个工作表的名称
				System.out.println("----------9--------------");
				 sheet = (IDispatch) sheets.get("item",//按照工作表索引得到工作表
						new Object[] { new Integer(sheetInx) });
				 System.out.println("----------10--------------");
				String sheetName = sheet.get("name").toString();
				System.out.println("----------11--------------");
				sheet.put("name", "Nsheet"+sheetInx);//修改当前工作表的名称
				System.out.println("----------12--------------");

			}
			currentSheet = (IDispatch) xlsApp.get("ActiveSheet"); //得到当前获得的工作表
			currentSheet.put("name", "new sheet");
			
		} catch (JComException e) {
			System.out.println("--------Error-----------");
			e.printStackTrace();
		}
	}

}
 

你可能感兴趣的:(.net,工作,活动,Excel,F#)