通过excel实现对多个资源文件的集中管理
来源:互联网 发布:电脑怎么用手机的网络 编辑:程序博客网 时间:2024/04/30 05:49
在支持双语或多语种项目中,常常需要编辑多个文件来添加资源项,感觉比较繁琐,所以想做一个可以集中管理资源文件的工具。借助Excel,使用Excel来记录,并且通过Excel可以进行分页分模块来规划资源项的存放。
资源excel样例:
解析excel文件,生成资源文件的工具下载地址:
http://download.csdn.net/detail/u014569459/7186353
代码(基于jxl):
package cn.jerry.mouse.property_tools;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import jxl.Cell;import jxl.Sheet;import jxl.Workbook;import jxl.read.biff.BiffException;public class ExcelProperties {public void exportToFile(String excelFileName,int keyColumn,int valueColumn,String exportFileName) throws Exception {File excelFile = new File(excelFileName);File exportFile = new File(exportFileName);BufferedWriter bw = new BufferedWriter(new FileWriter(exportFile));Workbook workbook = Workbook.getWorkbook(excelFile);Sheet[] sheet = workbook.getSheets();Cell[] keyCell;Cell[] valueCell;String key;String value;for(int sheetIndex=0;sheetIndex<sheet.length;sheetIndex++){keyCell = sheet[sheetIndex].getColumn(keyColumn);valueCell = sheet[sheetIndex].getColumn(valueColumn);for(int rowIndex=1;rowIndex<keyCell.length;rowIndex++) //第一行作为标题栏,忽略掉{key = keyCell[rowIndex].getContents();value = valueCell[rowIndex].getContents();if(key.trim()!="")bw.write(key+"="+value+"\r\n");}}bw.close();workbook.close();}private boolean isFileValid(String excelFileName) throws Exception{try {File excelFile = new File(excelFileName);Workbook workbook = Workbook.getWorkbook(excelFile);workbook.getSheets();workbook.close();} catch (BiffException e) {throw new Exception("不支持此文件格式,仅支持Excel 2003");}return true; }public static void main(String[] args) throws Exception{ExcelProperties excelUtil = new ExcelProperties();String excelFilePath = "D:\\res.xls";String exportCNFilePath = "D:\\res_zh_CN.properties";String exportENFilePath = "D:\\res_en_US.properties";String exportDefaultFilePath = "D:\\res.properties";int keyColumn = 0;int valueColumn;if(args.length==4){excelFilePath = args[0];exportCNFilePath = args[1];exportENFilePath = args[2];exportDefaultFilePath = args[3];}else if(args.length!=0){System.out.println("Usage: java -jar ExcelProps.jar excelFilePath exportCNFilePath exportENFilePath excelFilePath");return;}excelUtil.isFileValid(excelFilePath);System.out.println("Begin to exprort from excelFile: "+excelFilePath);valueColumn = 1;excelUtil.exportToFile(excelFilePath, keyColumn, valueColumn, exportCNFilePath);System.out.println("Config file in Chinese exported: "+exportCNFilePath);valueColumn = 2;excelUtil.exportToFile(excelFilePath, keyColumn, valueColumn, exportENFilePath);System.out.println("Config file in English exported: "+exportENFilePath);valueColumn = 1;excelUtil.exportToFile(excelFilePath, keyColumn, valueColumn, exportDefaultFilePath);System.out.println("Config file in default language exported: "+exportDefaultFilePath);}}
PS:
如果资源文件要用于struts,可以调用native2ascii.exe(JDK自带)或者调用其它java程序来对中文资源文件进行转码一下。
0 0
- 通过excel实现对多个资源文件的集中管理
- MFC之通过OLE实现对Excel文件的读写
- 走火入魔权限管理系统、对多系统的集中权限管理配置实现参考
- 走火入魔权限管理系统、对多系统的集中权限管理配置实现参考
- 实现多台linux的集中管理
- 通过Spring Session实现Session集中管理
- 通过Spring Session实现Session集中管理
- EasyDarwin NVR 实现公司多个网络摄像头的集中管理
- C#通过引用Office Excel (2007) 组件实现对Excel文件的操作
- C#通过引用Office Excel (2007) 组件实现对Excel文件的操作
- C#通过引用Office Excel (2007) 组件实现对Excel文件的操作
- C#通过引用Office Excel (2007) 组件实现对Excel文件的操作
- C#通过引用Office Excel (2007) 组件实现对Excel文件的操作
- 服务器虚拟化技术对学校的服务器资源进行集中管理
- QTP-实现对Excel文件的读写
- Zope2/Zenoss中通过FTP实现对文件对象的管理
- 通过类来对资源进行管理
- Zookeeper实现参数的集中式管理
- 单例模式辨析
- 设计模式之观察者
- c++中数组名与函数的区别
- 类中的const变量的初始化
- C++primer plus第六版课后编程题答案9.4
- 通过excel实现对多个资源文件的集中管理
- 获取进程模块的信息
- Subsets
- 函数的重载
- 解决com.sun.tools.javac.Main is not on the classpath的问题
- [LeetCode] Reverse Integer
- Android复习之RatingBar
- 斯坦福大学-Logistic回归_Exercise Code
- org.hibernate.MappingException: entity class not found