电子表格

python读取json文件转成excel

扶醉桌前 提交于 2020-02-06 17:14:05
python处理excel有xlwt,openpyxl等,而xlwt只支持excel2003,也就是最多有256列,而openpyxl则支持excel2007以上,最多65536列。下面是两个的程序。 xlwt为 import json import xlwt def readFromJson(file): with open(file, 'r', encoding='utf8') as fr: jsonData = json.load(fr) return jsonData def writeToExcel(file): json = readFromJson(file) excel = xlwt.Workbook() sheet1 = excel.add_sheet('sheet1', cell_overwrite_ok=True) sheet2 = excel.add_sheet('sheet2', cell_overwrite_ok=True) length = len(json) i = 0 while i < length: eachLine = json[i] questions = eachLine['questions'] answer = eachLine['answer'] questionSize = len(questions) if

软件需求-导入excel

寵の児 提交于 2020-02-06 15:51:43
导入excel通用需求 0、前置需求 1)导入方式:追加还是覆盖; 2)出错机制: a、当出错时,是全部数据均不导入,还是只导入正确的数据,错误的不导入; b、出错提示是否有要求; 3)顺序:导入后,数据顺序应与导入的excel文件顺序一致; 4)其他程序特殊控制; a、如是否存在大数据量情况,数据量具体多少,可接受的性能指标为多少; 1、具体字段需求: 1)必填:列出必填字段名称; 2)字段类型:如手动输入(字符、数值)、字典、日期; a、数值:只能输入数值 b、字典:需列出具体字典值 c、日期:日期格式必须明确 d、其他情况:如数值型存在取值范围、身份证号需要符合校验规则等; 3)重复:列出不能重复的字段名称; 开发/测试人员关注:当字段不能重复时,excel存在重复数据/excel与列表存在重复数据,无法导入; 4)长度:excel中各字段长度;需要与程序新增修改、数据库控制一致; 2、通用需求(开发和测试人员必须关注) 中优先级: 1)特殊字符:特殊字符应该控制为和程序新增修改窗口控制一致; 2)其他操作: a、导入数据时,不选择任何文件,直接点击确定按钮。弹出提示,无法导入; b、文件格式:wps【xls、xlxs】、excel【xls、xlxs】等格式均应该能导入; c、文件打开时也可以导入,或者不能导入,但是不会报错; d、excel中数据为外部拷贝或手动输入

EXCEL批量处理批注

China☆狼群 提交于 2020-02-06 08:12:16
前言:某项目需要通过取excel的批注对数据进行处理,但是excel数据量大,没法通过简单的复制粘贴给每一条数据增加批注,唯一的突破点就是 每一列的批注都是有规律 的。 思路:1、批量增加批注;2、批量修改批注。 解决方式: 1)编辑好一行的批注,ctrl+c,选中后面要编辑的所有行,ctrl+v(因为批注没有办法通过拖动进行复制) 2)原文件通过修改后缀直接修改为.zip文件 3)双击zip文件,进入xl目录下,找到comments1.xml文件,双击打开,会发现好多“1001”,你编辑的所有批注都在这里,那么接下来就简单多了,替换字符串就好了 4)本人替换字符串的方式是通过java代码处理的: 4.1)取出comments1.xml文件的头尾 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <comments xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><authors><author>Administrator</author></authors><commentList><comment ref="B2" authorId="0"> </comment></commentList></comments> 4.2

Excel的高级筛选——数据匹配

最后都变了- 提交于 2020-02-05 06:40:19
在Excel中把指定数据筛选出来的方法有很多,可以用普通筛选、可以用相关的函数,笔者感觉在一些情况下使用高级筛选更加方便,这里简要介绍一下高级筛选的用法,供大家参考。 例如要让Excel自动从下图中的表格中挑选出含“葡萄”和“桔子”的行。 ●先在任意空单元格中输入要筛选的条件,本例为“葡萄”和“桔子”,注意还要输入行标题。 ●输入条件后点击打开Excel的“数据”选项卡。 ●点击数据选项卡排序和筛选功能区中图示的“高级”按钮。 ●点击后会打开“高级筛选”对话框,在其中的“列表区域”处点击鼠标。(“列表区域”可理解成要从哪个区域中进行筛选。) ●然后按住鼠标左键不放,拖动鼠标框选要筛选的表格区域,框选后,该区域的名称会自动输入到“高级筛选”对话框的“列表区域”处。 ●再在“条件区域”处点击鼠标, ●然后按住鼠标左键框选之前输入的筛选条件单元格。 ●如果表格中有重复的项,可根据需要选择是否勾选图示的“选择不重复的记录”。 ●列表区域和条件区域设置完成后,可选择“在原有区域显示筛选结果”还是“将筛选结果复制到其他位置”。如果想隐藏不符合筛选条件的行,在原表格中显示筛选后的结果,可选择图示的“在原有区域显示筛选结果”。 ●然后点击“确定”按钮。 ●点击确定按钮后,原表格中不符合筛选条件的行就都被隐藏了,只显示筛选出的行。这时如果想恢复显示被隐藏的行,可点击一下“数据”选项卡中的“筛选”按钮

C#读取EXCEL转化为DataSet

依然范特西╮ 提交于 2020-02-04 11:20:22
转:http://www.cnblogs.com/sanpi/archive/2010/09/20/1831827.html 使用OLEDB可以对excel文件进行读取,我们只要把该excel文件作为数据源即可。 一 在D盘创建excel文件test.xls: 二 将工作表Sheet1的内容读取到DataSet string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/test.xls;" + "Extended Properties='Excel 8.0'" ; DataSet ds = new DataSet(); OleDbDataAdapter oada = new OleDbDataAdapter( "select * from [Sheet1$]" , strConn); oada.Fill(ds); 读取的DataSet为: 从图中可以看出 excel文件中的第一行变成了DataSet中的列名 ,这正是系统的默认设置。 三 如果想把第一行也作为数据行,那我们可以给连接字符串添加一个HDR=No属性 如: string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/test.xls;" + "Extended

C#读取Excel文件

与世无争的帅哥 提交于 2020-02-04 11:19:02
使用OLEDB可以对excel文件进行读取,我们只要把该excel文件作为数据源即可。 一 在D盘创建excel文件test.xls: 二 将工作表Sheet1的内容读取到DataSet string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/test.xls;" + "Extended Properties='Excel 8.0'" ; DataSet ds = new DataSet(); OleDbDataAdapter oada = new OleDbDataAdapter( "select * from [Sheet1$]" , strConn); oada.Fill(ds); 读取的DataSet为: 从图中可以看出 excel文件中的第一行变成了DataSet中的列名 ,这正是系统的默认设置。 三 如果想把第一行也作为数据行,那我们可以给连接字符串添加一个HDR=No属性 如: string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/test.xls;" + "Extended Properties='Excel 8.0;HDR=No'" ; DataSet ds = new DataSet();

java 导出 excel 最佳实践,大文件 excel 避免OOM(内存溢出) 框架-02-API

本秂侑毒 提交于 2020-02-03 19:00:44
项目简介 IExcel 用于优雅地读取和写入 excel。 避免大 excel 出现 oom,简约而不简单。。 特性 OO 的方式操作 excel,编程更加方便优雅。 sax 模式读取,SXSS 模式写入。避免 excel 大文件 OOM。 基于注解,编程更加灵活。 写入可以基于对象列表,也可以基于 Map,实际使用更加方便。 设计简单,注释完整。方便大家学习改造。 变更日志 变更日志 v0.0.4 主要变化 引入 ExcelBs 引导类,优化使用体验。 创作缘由 实际工作和学习中,apache poi 操作 excel 过于复杂。 近期也看了一些其他的工具框架: easypoi easyexcel hutool-poi 都或多或少难以满足自己的实际需要,于是就自己写了一个操作 excel 导出的工具。 快速开始 环境要求 jdk1.7+ maven 3.x 引入 jar 使用 maven 管理。 <dependency> <groupId>com.github.houbb</groupId> <artifactId>iexcel</artifactId> <version>0.0.4</version> </dependency> Excel 写入 示例 /** * 写入到 excel 文件 * 直接将列表内容写入到文件 */ public void writeTest() {

点餐小程序,点餐系统,管理后台批量导入excel菜品数据

百般思念 提交于 2020-02-03 18:40:41
点餐系统上线这段时间,有好多同学反馈,是否可以添加一个菜品批量导入的功能。由于平时比较忙,一直没有时间把菜品批量导入的功能加进来。今天正好空出来时间了,就来教大家实现下菜品批量导入的功能。 后面会把这节功能录制成视频放到点餐系统的课程里。 传送门: 点餐系统,java后台+点餐小程序 老规矩,先看效果图 选择excel菜品 导入数据成功 之前有看过我课程的同学肯定知道,我之前是没有批量导入的类目的,不错,这个类目就是我们今天新加的功能。 实现步骤很简单: 1,点击导入按钮选择excel 2,导入成功后调转到商品列表页。 下面我们就来具体讲解下实现步骤 一,引入excel操作类库 我们这里主要用到了下面红框里的两个类库 类库写在pom.xml里,不要忘记做ReImport操作 二,添加导入excel的后台网页 添加菜品类目导入页 添加商品(菜品)导入页 上面的代码,我会加入到点餐系统里,有购买点餐系统课程的同学,去刷新下之前的网盘链接即可获取最新代码。 三,编写ExcelUtil工具类 把完整代码给大家贴出来,其实很简单,就是在工具类里定义一个导入菜品类目和菜品的方法。 注意:对应的导入方法是解析excel里的数据,所以你的excel数据必须和我的保持一致,就是第几列是什么数据,要和我的对应起来。要不然会导致数据存错的问题。 package com.qcl.utils; import

点餐小程序,点餐系统,管理后台批量导入excel菜品数据

旧城冷巷雨未停 提交于 2020-02-03 18:37:39
点餐系统上线这段时间,有好多同学反馈,是否可以添加一个菜品批量导入的功能。由于平时比较忙,一直没有时间把菜品批量导入的功能加进来。今天正好空出来时间了,就来教大家实现下菜品批量导入的功能。 后面会把这节功能录制成视频放到点餐系统的课程里。 传送门: 点餐系统,java后台+点餐小程序 老规矩,先看效果图 选择excel菜品 导入数据成功 之前有看过我课程的同学肯定知道,我之前是没有批量导入的类目的,不错,这个类目就是我们今天新加的功能。 实现步骤很简单: 1,点击导入按钮选择excel 2,导入成功后调转到商品列表页。 下面我们就来具体讲解下实现步骤 一,引入excel操作类库 我们这里主要用到了下面红框里的两个类库 类库写在pom.xml里,不要忘记做ReImport操作 二,添加导入excel的后台网页 添加菜品类目导入页 添加商品(菜品)导入页 上面的代码,我会加入到点餐系统里,有购买点餐系统课程的同学,去刷新下之前的网盘链接即可获取最新代码。 三,编写ExcelUtil工具类 把完整代码给大家贴出来,其实很简单,就是在工具类里定义一个导入菜品类目和菜品的方法。 注意:对应的导入方法是解析excel里的数据,所以你的excel数据必须和我的保持一致,就是第几列是什么数据,要和我的对应起来。要不然会导致数据存错的问题。 package com.qcl.utils; import

利用java反射机制实现读取excel表格中的数据

假装没事ソ 提交于 2020-02-03 11:20:09
如果直接把excel表格中的数据导入数据库,首先应该将excel中的数据读取出来。 为了实现代码重用,所以使用了Object,而最终的结果是要获取一个list如List<User>、List<Book>等,所以需要使用泛型机制去实现。下面会给出代码,可能会稍微复杂一点,但注释很清晰,希望大家耐心阅读。 在上代码之前简单说一下思路: 1.excel表格必须有表头,且表头中各列的值要与实体类的属性相同; 2.先读取表头信息,然后获取表头列数,接着确定需要使用的set方法的名称,并存到数组中; 3.利用反射机制,获取object对象的属性,通过与excel表格表头对比,确定各个属性的类型,存到数组中(以excel表格中属性的顺序); 4.遍历除表头行的数据,利用反射机制实例化对象,调用对应的set方法,方法参数通过3获取; 上代码:(需要使用poi包,请自行下载) 实体类User: public class User { private int id; private String name; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; }