将excel转换为Xml方法
public classAnalysisEtoX {public static voidmain(String[] args) {try{
System.out.println(“=============”);//用输入流从本地拿到对应的Excel文件
InputStream stream = new FileInputStream(“C:\Users\Administrator\Desktop\试题.xlsx”);//指定要生成的xml的路径,并构建文件对象
File f = new File(“test.xml”);//新建个file对象把解析之后得到的xml存入改文件中
writerXML(stream, f);//将数据以xml形式写入文本
} catch(FileNotFoundException e) {
System.out.println(“未找到指定路径的文件!”);
e.printStackTrace();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}private static void writerXML(InputStream stream, File f) throwsIOException {
System.out.println(“into writerXML”);
FileOutputStream fo= new FileOutputStream(f);//得到输入流
Document doc = readExcell(stream);//读取EXCEL函数
Format format = Format.getCompactFormat().setEncoding(“UTF-8”).setIndent(“”);
XMLOutputter XMLOut= new XMLOutputter(format);//在元素后换行,每一层元素缩排四格
XMLOut.output(doc, fo);
fo.close();
}private staticDocument readExcell(InputStream stream) {
System.out.println(“into readExcell”);//设置根元素
Element root = new Element(“tax_institutions”);
Document doc= newDocument(root);try{
HSSFWorkbook hw= newHSSFWorkbook(stream);//获取工作薄的个数,即一个excel文件中包含了多少个Sheet工作簿
int WbLength =hw.getNumberOfSheets();
System.out.println(“WbLength=” +WbLength);for (int i = 0; i < WbLength; i++) {
HSSFSheet shee=hw.getSheetAt(i);int length =shee.getLastRowNum();
System.out.println(“行数:” +length);for (int j = 1; j <= length; j++) {
HSSFRow row=shee.getRow(j);if (row == null) {continue;
}int cellNum = row.getPhysicalNumberOfCells();//获取一行中最后一个单元格的位置
System.out.println(“列数cellNum:” +cellNum);
Element e= null;//设置根元素下的并列元素
e = new Element(“tax_institution”);//Element[] es = new Element[16];
for (int k = 0; k < cellNum; k++) {
HSSFCell cell= row.getCell((short) k);
String temp=get(k);
System.out.print(k+ " " + temp + “:”);
Element item= newElement(temp);if (cell == null) {
item.setText(“”);
e.addContent(item);
cellNum++;//如果存在空列,那么cellNum增加1,这一步很重要。
continue;
}else{
String cellvalue= “”;switch(cell.getCellType()) {//如果当前Cell的Type为NUMERIC
caseHSSFCell.CELL_TYPE_NUMERIC:caseHSSFCell.CELL_TYPE_FORMULA: {//判断当前的cell是否为Date
if(HSSFDateUtil.isCellDateFormatted(cell)) {//如果是Date类型则,转化为Data格式//方法1:这样子的data格式是带时分秒的:2011-10-12 0:00:00//cellvalue =
cell.getDateCellValue().toLocaleString();//方法2:这样子的data格式是不带带时分秒的:2011-10-12
Date date =cell.getDateCellValue();
SimpleDateFormat sdf= new SimpleDateFormat(“yyyy-MM-dd”);
cellvalue=sdf.format(date);
item.setText(cellvalue);
}//如果是纯数字
else{//取得当前Cell的数值
cellvalue = String.valueOf((int) cell.getNumericCellValue());
item.setText(cellvalue);
}break;
}//如果当前Cell的Type为STRIN
caseHSSFCell.CELL_TYPE_STRING://取得当前的Cell字符串
cellvalue =cell.getRichStringCellValue().getString();
item.setText(cellvalue);break;//默认的Cell值
default:
cellvalue= " ";
item.setText(cellvalue);
}
e.addContent(item);
System.out.println(cellvalue);
}
}
root.addContent(e);
}
}
}catch(Exception e) {
e.printStackTrace();
}finally{try{
stream.close();
}catch(IOException e1) {
e1.printStackTrace();
}
}returndoc;
}//设置并列元素里的子元素名
private static String get(intk) {
String test= “”;switch(k) {case 0:
test= “org_name”;break;case 1:
test= “legal_mobile_phone”;break;case 2:
test= “org_address”;break;case 3:
test= “cert_type”;break;case 4:
test= “postal_code”;break;case 5:
test= “reg_sum”;break;case 6:
test= “business_scope”;break;case 7:
test= “social_credit_code”;break;case 8:
test= “reg_type”;break;case 9:
test= “legal_person_name”;break;case 10:
test= “cert_number”;break;case 11:
test= “found_time”;break;case 12:
test= “service_status”;break;case 13:
test= “staff_sum”;break;case 14:
test= “partner_sum”;break;case 15:
test= “is_branch_org”;break;default:
}returntest;
}
}
待测
将excel转换为Xml方法相关推荐
- excel xml mysql_数据库表转换为xml格式,excel转换为xml格式文件
c#把sql数据库表转换为xml文件 1.连接sql数据库 public bool Open() { try { if (sqlconn == null) { sqlconn = new SqlCon ...
- 将Excel数据转换为XML
与您可能想到的相反,并不是每个文档最初都是用XML编写的. 实际上,大多数文档是使用其他工具准备的,后来又转换为XML. 许多文档源自关系数据库(例如DB2)或Microsoft Office应用程序 ...
- 怎么将EXCEL转换为财务软件导入需要的XML格式,干货到,EXCEL如何转换为财务软件导入数据所需格式
如今企业会计使用财务软件进行做账已经成为一种普遍的状态,那么对于一个刚开始使用财务软件的会计来说,将企业原有数据导入财务软件就成为了一个重要的事情,财务软件导入数据的文件格式普遍要求的是XML格式,而 ...
- Unity 工具类 之 Excel 转换为 json、csv、xml、lua格式
Unity 工具类 之 Excel 转换为 json.csv.xml.csv 格式 目录 Unity 工具类 之 Excel 转换为 json.csv.xml.csv 格式 一.介绍 二.操作原理 三 ...
- python中字符串转xml对象_Python实现对象转换为xml的方法示例
本文实例讲述了Python实现对象转换为xml的方法.分享给大家供大家参考,具体如下: # -*- coding:UTF-8 -*- ''''' Created on 2010-4-20 @autho ...
- js解析xml字符串或xml文件,将其转换为xml对象方法
注:判断是否是ie浏览器和非ie浏览器的方法有多种,在此只介绍用例中的方法: 1.解析xml字符串,得到xml对象的方式: function createXml(str){if(document.al ...
- 如何把文本文档转换成html格式,把固定格式的文本文档转换为Excel电子表格的方法...
有时候,需要把一些拥有固定格式的文本文件导入电子表格.微软的Excel 电子表格程序有一个文本文件转换向导,将这种格式转换变得非常快捷方便.本文图文讲解把固定格式的文本文档转换为Excel电子表格的方 ...
- Office系列---将Office文件(Word、PPT、Excel)转换为PDF文件,提取Office文件(Word、PPT)中的所有图片
将Office文件转换为PDF文件,提取Office文件中的所有图片 1.Office系列---将Office文件(Word.PPT.Excel)转换为PDF文件 1.1 基于Office实现的解决方 ...
- Java将Excel转换为ODS
前言 ODS(OpenDocument Spreadsheet)是一种基于XML的文件格式,可以使用OpenOffice.org的Calc组件打开和建立.与MS Excel文件类似,ODS文件将数据存 ...
最新文章
- selenium webdriver - 结束进程
- Git Flow—Git团队协作最佳实践
- linux C 学习
- linux 进程调度类型 总结,Linux进程模型总结
- 转android项目开发 工作日志 2011.10.8--bundle类使用
- [论文笔记] Towards an integrated crowdsourcing definition (Journal of Information Science, 2012)
- css --- [练手小项目]样式小结(字体、颜色的语义 清除浮动的使用)
- 【C语言】C语言的数据类型
- 在项目中配置PageHelper插件时遇到类型转换异常
- react setState修改嵌套对象
- 网络安全--文件分离工具 foremost
- 基于ROS的机器人设计
- 数据结构:通过hash表方法创建母猪信息录入系统
- matlab 将图片制作成视频并将视频输出为图片
- 59、可燃材料仓库的防火检查要求
- <Android开发> Android vold - 第三篇 vold 的NetLinkManager类简介
- android照片墙的实现
- CMD设置代理 注册表设置IE代理
- shell脚本--重启服务
- 电商大数据项目-推荐系统实战(一)
热门文章
- hyper-v虚拟交换机管理器
- es5如何实现promise_浅谈promise用es5实现
- 3557: 【入门】打印小写字母表
- python中linspace函数_Python - linspace()显示奇怪的行为(Python - linspace() shows strange behavior)...
- MTCNN算法与代码理解—人脸检测和人脸对齐联合学习
- “双十一”大战引发四大疑问(图)
- java8新特性---StreamApi
- uname命令 linux,Linux uname 命令
- 经典消除游戏——Unity 祖玛游戏
- 残差平方和(RSS)、均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE)、标准差(SD)