⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 outxml.java

📁 使用JCom的时候
💻 JAVA
字号:
import jp.ne.so_net.ga2.no_ji.jcom.excel8.*;
import jp.ne.so_net.ga2.no_ji.jcom.*;
import java.io.*;

/*
	Excel梡儔僢僷傪巊偭偨丄JCom偺僒儞僾儖僾儘僌儔儉
	Excel偐傜XML偵曄姺偡傞丅
*/
public class OutXML {

	// 愝掕崁栚
	public String company     = "";				// 夛幮柤
	public String section1    = "";				// 強懏1
	public String section2    = "";				// 強懏2
	public String custmer     = "";				// 屭媞柤
	public String validperiod = "";				// 尒愊桳岠婜尷
	public String createdate  = "";				// 嶌惉擔
	public String estimatedNo = "";				// 尒愊彂No.
	public String charge      = "";				// 扴摉幰
	public String[] itemname = new String[15];	// 昳柤x15屄
	public String[] itemtype = new String[15];	// 宆斣x15屄
	public int[] itemprice   = new int[15];		// 扨壙x15屄
	public int[] itemcount   = new int[15];		// 悢検x15屄
	public String[] itemmemo = new String[15];	// 旛峫x15屄

	// 巜掕偝傟偨僼傽僀儖偐傜尒愊傝忣曬傪庢摼偡傞
	public boolean getEstimate(String fname) {
		ReleaseManager rm = new ReleaseManager();
		try {
			System.out.println("EXCEL傪婲摦拞...");
			// 偡偱偵棫偪忋偑偭偰偄傞偲丄怴偟偄僂傿儞僪僂偱奐偔丅
			ExcelApplication excel = new ExcelApplication(rm);
			excel.Visible(true);

			ExcelWorkbooks xlBooks = excel.Workbooks();
			ExcelWorkbook xlBook = xlBooks.Open(fname);
			ExcelWorksheet xlSheet = excel.ActiveSheet();
			ExcelRange xlRange = xlSheet.Cells();
			
			// 愝掕崁栚傪僙儖偵戙擖
			System.out.println("僙儖偐傜愝掕崁栚傪庢摼");
			company     = xlRange.Item(4,2).Text();
			section1    = xlRange.Item(5,2).Text();
			section2    = xlRange.Item(6,2).Text();
			custmer     = xlRange.Item(8,2).Text();
			validperiod = xlRange.Item(14,4).Text();
			createdate  = xlRange.Item(3,8).Text();
			estimatedNo = xlRange.Item(5,8).Text();
			charge      = xlRange.Item(7,8).Text();
			for(int i=0; i<15; i++) {
				itemname[i] = xlRange.Item(22+i,3).Text();
				itemtype[i] = xlRange.Item(22+i,4).Text();
				try {
					itemprice[i] = Integer.parseInt(xlRange.Item(22+i,5).Text());
					itemcount[i] = Integer.parseInt(xlRange.Item(22+i,6).Text());
				}
				catch(NumberFormatException e) {
					itemprice[i] = 0;
					itemcount[i] = 0;
				}
				itemmemo[i] = xlRange.Item(22+i,8).Text();
			}
			xlBook.Close(false,null,false);
			excel.Quit();
		}
		catch(Exception e) {
			e.printStackTrace();
			return false;	// 幐攕
		}
		finally { rm.release(); }
		return true;
	}

	public static void main(String[] args) throws IOException {
		OutXML est = new OutXML();
		// XML僼傽僀儖傪嶌惉
		System.out.println("estimate.xml 傪嶌惉");
		PrintWriter out = 
				new PrintWriter(new BufferedWriter(new FileWriter("estimate.xml")));

		// XML僿僢僟傪弌椡	output XML header
		out.print("<?xml version=\"1.0\" standalone=\"no\"?>\n");
		out.print("<!DOCTYPE JCom:Estimate SYSTEM \"estimate.dtd\">\n");
		out.print("<!-- generated by OutXML.class -->\n");
		out.println();

		// 僇儗儞僩僨傿儗僋僩儕偺 .xls 僼傽僀儖傪弴師張棟偟偰偄偔
		File path = new File("./");
		String[] filenames = path.list();
		for(int f=0; f<filenames.length; f++) {
			String fname = filenames[f];
			if(! fname.toLowerCase().endsWith(".xls")) continue;
			if( fname.equalsIgnoreCase("estimate.xls")) continue;
			System.out.println(fname);
			// Excel偼撈帺偺娐嫬傪帩偮偺偱丄僼傽僀儖柤傪愨懳僷僗偵偟偰搉偡
			boolean rc = est.getEstimate((new File(fname)).getCanonicalPath());
			if(rc) {
				out.print("<JCom:Estimate>\n");
				out.print("\t<JCom:Company>"+est.company+"</JCom:Company>\n");
				out.print("\t<JCom:Section1>"+est.section1+"</JCom:Section1>\n");
				out.print("\t<JCom:Section2>"+est.section2+"</JCom:Section2>\n");
				out.print("\t<JCom:Custmer>"+est.custmer+"</JCom:Custmer>\n");
				out.print("\t<JCom:ValidPeriod>"+est.validperiod+"</JCom:ValidPeriod>\n");
				out.print("\t<JCom:CreateDate>"+est.createdate+"</JCom:CreateDate>\n");
				out.print("\t<JCom:EstimatedNo>"+est.estimatedNo+"</JCom:EstimatedNo>\n");
				out.print("\t<JCom:Charge>"+est.charge+"</JCom:Charge>\n");
				loop:
				for(int i=0; i<15; i++) {
					if(est.itemcount[i] == 0) break loop;
					out.print("\t<JCom:Item>\n");
					out.print("\t\t<JCom:ItemName>"+est.itemname[i]+"</JCom:ItemName>\n");
					out.print("\t\t<JCom:ItemType>"+est.itemtype[i]+"</JCom:ItemType>\n");
					out.print("\t\t<JCom:ItemPrice>"+est.itemprice[i]+"</JCom:ItemPrice>\n");
					out.print("\t\t<JCom:ItemCount>"+est.itemcount[i]+"</JCom:ItemCount>\n");
					out.print("\t\t<JCom:ItemMemo>"+est.itemmemo[i]+"</JCom:ItemMemo>\n");
					out.print("\t</JCom:Item>\n");
				}
				out.print("</JCom:Estimate>\n");
				out.println();
			}
		}
		out.close();
		System.out.println("惉岟偟傑偟偨");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -