前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >java excel转json

java excel转json

作者头像
全栈程序员站长
发布于 2022-07-01 10:39:04
发布于 2022-07-01 10:39:04
92400
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.xmg.excel;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.URL;
import com.xmg.constants.ExcelConstant;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import net.sf.json.JSONArray;

public class ExcelTranslator {

	public static void main(String[] args) {
		String cfgFile = "test.xls";
		if (args.length > 0) {
			cfgFile = args[0];
		}
		new ExcelTranslator().translateFile(cfgFile);
		//new ExcelTranslator().test();
	}

	private void test() {
		JSONArray array1 = new JSONArray();
		array1.add(12);
		array1.add(22);
		JSONArray array2 = new JSONArray();
		array2.add(21);
		array2.add(22);
		JSONArray array = new JSONArray();
		array.add(array1);
		array.add(array2);
		System.out.println(array.toString());
	}
	
	
	Sheet sheet;
	Workbook book;

	private void translateFile(String cfgFile) {

		ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
		URL url = classLoader.getResource(cfgFile);
		try {
			book = Workbook.getWorkbook(new File(url.getFile()));
			sheet = book.getSheet(0);
			outputToJSON(sheet);
		} catch (BiffException | IOException e) {
			e.printStackTrace();
		}
	}

	private void outputToJSON(Sheet sheet2) throws IOException {
		JSONArray arr = new JSONArray();
		for (int i = ExcelConstant.DATA_START_INDEX; i < sheet.getRows(); i++) {
			JSONArray rowarr = new JSONArray();	
			for (int j = 0; j < sheet.getColumns(); j++) {
				Cell cell = sheet.getCell(j, i);
				rowarr.add(cell.getContents());
			}
			arr.add(rowarr);
		}
		writeToFile(arr.toString(),".json");
	}

	public void outputToTxt(Sheet sheet) throws IOException {
		StringBuilder builder = new StringBuilder();
		for (int i = ExcelConstant.DATA_START_INDEX; i < sheet.getRows(); i++) {

			for (int j = 0; j < sheet.getColumns(); j++) {
				Cell cell = sheet.getCell(j, i);
				builder.append(cell.getContents() + "|");
			}
			builder.append("\r\n");
		}
		writeToFile(builder.toString(),".txt");
	}

	public void writeToFile(String info,String filePostfix) throws IOException {
		String path = ExcelConstant.GENERATE_TXT_LOCATION + sheet.getName() + filePostfix;
		BufferedWriter bw = null;
		try {
			FileOutputStream out = new FileOutputStream(path, true);// true,表示:文件追加内容,不重新生成,默认为false
			bw = new BufferedWriter(new OutputStreamWriter(out, "GBK"));
			bw.write(info += "\r\n");// 换行
			bw.flush();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			bw.close();
		}
	}

	public void printOutContent(Sheet sheet) {
		for (int i = ExcelConstant.DATA_START_INDEX; i < sheet.getRows(); i++) {

			for (int j = 0; j < sheet.getColumns(); j++) {
				Cell cell = sheet.getCell(j, i);
				System.out.print(cell.getContents() + "|");
			}
			System.out.println();
		}
	}
}

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130771.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用java进行excel读取和写入
4:在D盘下面创建readExcel.xls(有内容) 和writeExcel.xlsx即可
Java编程指南
2019/08/02
10.7K0
使用java进行excel读取和写入
jxl的使用总结(java操作excel)
本文介绍了如何利用JXL库实现Java程序对Excel表格的读写操作。通过创建JXL库的实例,我们可以轻松地读取和写入Excel文件,并处理表格中的数据。
别先生
2018/01/02
1K0
jxl的使用总结(java操作excel)
使用JXL.jar实现JAVA对EXCEL的读写操作
jxl操作excel包括对象Workbook(工作簿),Sheet(工作表) ,Cell(单元格)。
风骨散人Chiam
2020/10/28
1.4K0
java读取excel文件单元格英文出现乱码问题的解决方法
小编今天测试读取excel文件,并且取其中的几个单元格作为文件名称的时候,发现文件名出现了乱码,毫无疑问,肯定就是读取excel的时候,取出来就出现了乱码,如图所示
小小鱼儿小小林
2020/06/24
1.7K0
java读取excel文件单元格英文出现乱码问题的解决方法
Java操作Excel文件
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/71087253
大黄大黄大黄
2018/09/14
6610
Java操作Excel文件
Java操作Excel文件导入导出【内含有 jxl.jar 】
jxl.jar包:链接:https://pan.baidu.com/s/1zCIKvFoFauUp_5UAh0t_4w 密码:8mpy
杨校
2018/12/06
1.6K0
java反射机制入门04
需要jxl.jar package com.rainmer.main; import java.io.File; import java.io.IOException; import java.util.ArrayList; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWork
用户1737026
2018/05/17
6340
JXL读写Excel
使用JXL生成Excel文 package test.jxl; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import org.apache.commons.lang3.RandomStringUtils; import java.io.File; impor
前Thoughtworks-杨焱
2021/12/08
2830
Android 开发execel文件在内存和外存传递
到出的execel文件在Android studio中文件查看能看到,但是不能save,并且手机连接电脑进行copy不行。我怀疑可能和手机有关,但是还得进一步的测试看看,不一定 啊。现在看了问题,解决办法:对文件进行修改,重命名,移动,复制,都行的,就是在电脑上显示出来的。
zhangjiqun
2024/12/16
690
ssm之九 批量导入excel到数据库
本案例承接以前的SSM整合系列,针对Oracle中的Dept表做操作,如果单击浏览,则进行批量导入;单击2则是单个导入。
张哥编程
2024/12/17
1200
ssm之九 批量导入excel到数据库
JAVA实现Excel导入导出
前提导入jxl依赖: 1、新建实体类Book public class Book { private Integer id ; private String name ; private String
IT架构圈
2018/06/01
2.8K0
读取Excel文件
最近有个需求需要在app内置数据,新来的产品扔给了我两个Excel表格就不管了(两个表格格式还不统一。。。),于是通过度娘等方法找到了Android中读取Excel表格文件的一种方法,记录一下。 闲话一下Excel中工作簿和工作表的区别: 工作簿中包含有工作表。工作簿可以由一张或多张工作表组成,一个工作簿就是一个EXCEL表格文件。 好了,开始读取表格文件吧。 前提 首先,我们假设需要读取的表格文件名字为test.xls, 位于assets根目录下。 所需Jar包 这里为了能读取到Excel表格
coderZhen
2018/06/28
2.5K0
多个sheet Excel 数据 导入数据库 如何实现?
Excel 文件格式的兼容性问题。不同版本的 Excel 文件可能存在格式差异,需要进行测试和兼容性处理。
猫头虎
2024/04/08
4290
Android开发笔记(三十四)Excel文件的读写
Android中操作Excel文件的场合较少见,主要是一些专业领域导入导出报表时使用,所以处理Excel读写的开源代码也很稀缺。目前读写Excel主要采用开源库jxl,这个是韩国人写的excel操作工具,虽然最早用在java上,但也可用于Android。与之类似的POI,因为依赖库众多,所以只能用于java,而不能用于Android。 使用jxl需要在Android工程中导入jxl.jar包,jxl可以完成Excel的基本读写操作,其支持与不支持的情况如下: 1、jxl只支持Excel2003格式,不支持Excel2007格式。即支持xls文件,不支持xlsx文件。 2、jxl不支持直接修改excel文件,但可通过复制新文件覆盖原文件的方式来间接修改。 3、jxl只能识别PNG格式的图片,不能识别其他格式的图片。 上面可以看出,jxl不支持Excel2007,这个很不好,尤其是目前Excel2007已经成为Excel主流格式的时候。不过现在还有个实现Android读取2007格式的临时办法,如果我们仔细分析xlsx的文件格式,会发现xlsx文件其实是个压缩包,压缩包里有各种文件,其中数据一般是放在"xl/sharedStrings.xml"和"xl/worksheets/sheet1.xml"中。据此,我们判断Excel文件为2007格式时,便可以将其解压,然后从中提取出sharedStrings.xml和sheet1.xml,接着使用XML解析工具把具体数据解析出来。 下面是Excel文件的读写代码例子,其中支持2003格式的读和写,以及2007格式的读:
aqi00
2019/01/18
2.9K0
java读取excel
package edu.qdgxy.util; import jxl.Cell; import jxl.Sheet; import java.io.File; import java.io.InputStream; import java.io.Serializable; import java.util.Vector; import java.io.FileInputStream; import org.apache.struts2.ServletActionContext; import jxl.
week
2018/08/27
1.5K0
Java导入导出Excel工具类ExcelUtil
前段时间做的分布式集成平台项目中,许多模块都用到了导入导出Excel的功能,于是决定封装一个ExcelUtil类,专门用来处理Excel的导入和导出
用户7705674
2021/09/23
3.4K0
Jxl 简单运用 Excel创建,插入数据,图片,更新数据,
Jxl 简单运用 jxl.jar 包简介 下载地址:http://www.andykhan.com/jexcelapi/ 特征: ● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标准格式 ● 支持字体、数字、日期操作 ● 能够修饰单元格属性 ● 支持图像和图表 最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。 搭建环境 将下载后
Hongten
2018/09/18
1.7K0
java导入导出excel
/** * 导入excel * @param file 输入文件 * @param clz 待转出格式 * @param <T> * @return * @throws APIException */ public static <T> List<T> importExcel(File file, Class<T> clz) throws APIException { try { Workbook rwb = Workbook.getWorkbook(file);
liliane
2022/07/17
1.5K0
Android解决读取txt文件中文乱码问题,reload和cnvert区别,按行读取txt文件,按 |进行字符串分割
在你所在的activity中设置编码格式,一般采用utf,有的采用gbk数据一般是别人下发数据你进行接收,那么就必须采用gbk进行格式转化;
zhangjiqun
2024/12/16
1540
Android解决读取txt文件中文乱码问题,reload和cnvert区别,按行读取txt文件,按  |进行字符串分割
基于Spring Mvc实现的Excel文件上传下载
最近工作遇到一个需求,需要下载excel模板,编辑后上传解析存储到数据库。因此为了更好的理解公司框架,我就自己先用spring mvc实现了一个样例。 基础框架 之前曾经介绍过一个最简单的spring mvc的项目如何搭建,传送门在这里。 这次就基于这个工程,继续实现上传下载的小例子。需要做下面的事情: 1 增加index.html,添加form提交文件 2 引入commons-fileupload、commons-io、jxl等工具包 3 创建upload download接口 4 注入multip
用户1154259
2018/01/17
1.5K0
相关推荐
使用java进行excel读取和写入
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验