XLSX

HSSFworkbook,XSSFworkbook,SXSSFworkbook区别总结

▼魔方 西西 提交于 2020-07-28 14:07:35
今天使用了npoi的HSSFWorkbook导出excel,却出现文件损坏或扩展名不对错误,后来发现后缀只要是“xls”就可以了。 npoi只是java poi的实现版,因此HSSFworkbook,XSSFworkbook,SXSSFworkbook这三种的区别在npoi中同理。 下面转自: https://blog.csdn.net/YiQ2018/article/details/81458149 用JavaPOI导出Excel时,我们需要考虑到Excel版本及数据量的问题。针对不同的Excel版本,要采用不同的工具类,如果使用错了,会出现错误信息。JavaPOI导出Excel有三种形式,他们分别是1.HSSFWorkbook 2.XSSFWorkbook 3.SXSSFWorkbook。 HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xls; XSSFWorkbook:是操作Excel2007后的版本,扩展名是.xlsx; SXSSFWorkbook:是操作Excel2007后的版本,扩展名是.xlsx; 第一种:HSSFWorkbook poi导出excel最常用的方式;但是此种方式的局限就是导出的行数至多为65535行,超出65536条后系统就会报错。此方式因为行数不足七万行所以一般不会发生内存不足的情况(OOM)。 第二种

多个 EXCEL 文件如何合并成一个文件

独自空忆成欢 提交于 2020-07-28 13:57:26
同一文件夹里有多个格式相同的EXCEL文件,需要把它们合并到一个EXCEL文件中,应该怎么做呢? 自己编写程序来实现?尽管好些程序语言都提供了读取EXCEL文件的API,但还是需要写程序去打开每一个文件,循环读取所需的每个单元格数据,在内存中把各文件数据保存到同一个数据集对象,最后再写出一个新的EXCEL文件,编写代码的工作量往往比较大。而且因为每批EXCEL文件的格式不相同,编写的程序并不能通用,下次还需重新编写程序。 使用集算器SPL来进行合并,那就很简单了,只需要几行代码。 编写SPL脚本如下: A B C 1 >dir="E:/work/excel/" =file(dir+"merged.xlsx") 2 =directory(dir+"*.xlsx") 3 for A2 =file(dir+A3).xlsimport@t() 4 If #A3==1 =B1.xlsexport@t(B3) 5 else =B1.xlsexport(B3) 此外还有合并同一个 EXCEL 文件中不同 Sheet 为一个 Sheet,以及合并后做分组、汇总等,请参阅 EXCEL 合并汇总 SPL还可以很方便地处理以下EXCEL需求: 1、 读取自由格式、交叉表、主子表等格式的EXCEL文件 2、 将数据导出、追加到EXCEL文件,输出预设精美格式的EXCEL文件 3、

python笔记:解决两表拼接产生过多的重复列

拈花ヽ惹草 提交于 2020-07-28 11:58:31
代码目的: 点检清单发给各供方回复后的结果拼接回点检清单,此时正常的拼接方法如下: df=pd.read_excel(r"C:\Users\01000713\Desktop\点检回复\点检清单.xlsx",sheet_name=0,header=0) df1=pd.read_excel(r"C:\Users\01000713\Desktop\点检回复\昆山新永树电子科技有限公司.xlsx",sheet_name=0,header=0) df=pd.merge(df1,df,on="物料号",how="right") df.to_excel("D:/work/点检/点检清单合并.xlsx", index=False) 得到的结果是这样的,很多个_x,_y,都是重复的数据,那么如何解决呢?将所有的重复列都做为连接键就好了,代码在图面下面 将所有的公共列都做为连接键,代码如下: df=pd.read_excel(r"C:\Users\01000713\Desktop\点检回复\点检清单.xlsx",sheet_name=0,header=0) df1=pd.read_excel(r"C:\Users\01000713\Desktop\点检回复\昆山新永树电子科技有限公司.xlsx",sheet_name=0,header=0) df=pd.merge(df1,df,on=["分部场所",

Easy Data Transform使用教程:如何将Excel转换为HTML

こ雲淡風輕ζ 提交于 2020-07-28 10:13:48
Easy Data Transform是很受欢迎的一款mac数据转换软件,使用Easy Data Transform将Excel .xlsx或.xls文件快速转换为HTML,今天的Easy Data Transform使用教程就教大家如何将Excel转换为HTML。 Excel和HTML格式非常不同,但是您可以使用Easy Data Transform将Excel .xlsx或.xls文件快速转换为HTML: 1.先在您的Mac上安装Easy Data Transform mac。 2.启动轻松数据转换。 3.将要转换的Excel .xlsx或.xls文件拖到Easy Data Transform。将添加一个粉红色的输入项。 4.确保选择了粉红色的输入项,然后单击左窗格中的“ 到文件”按钮(滚动到左窗格的底部)。 5.将出现一个窗口。设置新的文件名和位置。选择HTML文件作为文件类型。 6.添加并选择了绿色输出项目。 7.HTML文件将立即创建,无需“运行”任何文件。您可以在“ 右”窗格中更改“ 编码”。 Excel输入示例: HTML输出示例: 除了更改文件格式外,Easy Data Transform还允许您组合42种转换(例如联接,过滤和重复数据删除),以快速轻松地创建复杂的数据转换。 来源: oschina 链接: https://my.oschina.net/u

PatchWorkAPT分析

前提是你 提交于 2020-07-28 08:47:55
    PatchWorkAPT是一个比较有意思的名字,源于该组织武器库是基于开源的代码拼凑而成(地下论坛、暗网、github等等),组织主要目标是美国军事和政治机构,曾被赛门铁克、卡巴多次对组织Attack活动披露。   组织善用于office_cve武器库,从奇安信github收录以往的样本统计中来看,office_cve通杀漏洞占据了主导地位。     以往的套路,通过漏洞进行提权和载荷的释放,利用msf进行回连,这里不做累述,有好的文章可以参考套路如下链接,本篇文章主要分析C2样本功能: https://www.freebuf.com/articles/network/108637.html   ➬ IOCs: Column 1 Column 2 文件名 0f4f6913c3aa57b1fc5c807e0bc060fc 大小 195072 bytes MD5 0f4f6913c3aa57b1fc5c807e0bc060fc   ➬ 样本分析: ➀ 图中url并非是组织服务端,而是用来测试通信是否有网络连接。   ➁ 动态的获取函数地址,如下所示:   ➂ http报文截获,如下所示:   ↪ 动作一: ➃ 采集系统信息,主机名,uudi,系统版本等,如下所示:   ➄ CreateThread感染分发,其中循环体中CreateThread不停分发感染线程:   ➅

用 Python 读写 Excel 表格,就是这么的简单粗暴且乏味

拈花ヽ惹草 提交于 2020-07-26 13:45:54
过去,在很多金融、市场、行政的招聘中,面试官都会问一句:“你精通 EXCEL 吗?” 但今天,他们可能更喜欢问:“你会 Python 吗?” 越来越多的企业开始用 Python 处理数据,特别是金融、证券、商业、互联网等领域。 在顶级公司的高端职位中,Python 更是成为了标配: Python 究竟有什么法力能让大家如此青睐? 举个例子:在过去,如果老板想要获取 A 股所有股票近 2 年的数据,你可能需要 登录-查询-下载-记录到excel 循环 500 多次,即使你是一个没有感情的复制机器人,也需要一两天的时间。 但如果你掌握了 Python,只需要写个脚本,**泡杯咖啡的功夫 **数据就全部下载好了。 再加上 Python 强大的绘图功能,你可以一次性完成 数据收集 — 整理 — 分析 — 绘图 的过程,直接把分析结果用图表呈现出来。 今天本篇文章,我们就总结了一下利用 python 操作 Excel 文件的第三方库和方法。 内容出自课程—— 《OpenPyXL 处理 Excel 基础入门》 ,欢迎大家来实验边敲代码边学习~ 首先,我们来学习一下,如何 用 Python 创建和保存 Excel 文档。 对于经常与数据打交道的人来说,Excel 是经常使用的工具;对于与数据打交道的程序员来说,OpenPyXL 库是一个利器。Python 官方提供了这样一个库,让我们可以直接通过

Spire.Cloud.SDK for Java 合并、拆分Excel单元格

a 夏天 提交于 2020-07-24 13:00:52
Spire.Cloud.SDK for Java 是Spire.Cloud云产品系列中,用于处理 Word 、 Excel 、 PowerPoint 以及PDF文档的JAR文件,可执行文档编辑、转换、保存等操作。本文以操作Excel单元格实现单元格合并、拆分功能为例,介绍如何创建程序并获取程序ID和key来配置程序账号信息,并调用接口提供的方法来实现单元格合并和拆分。具体可参考以下步骤: 一、下载 SDK 及导入jar 下载后,创建Maven项目程序,并在pom.xml文件中 配置 Maven 仓库路径,指定 spire.cloud.sdk的 Maven 依赖,导入程序需要的所有jar文件。如下导入结果: 二、创建应用获取ID 和Key 三、文档路径 程序使用的文档路径是“ 文档管理 ”目录下的文件夹路径,冰蓝云提供的2G的免费存储空间。 四、Java 代码 1. 合并单元格 import spire.cloud.excel.sdk.Configuration; import spire.cloud.excel.sdk.api.CellsApi; public class MergeCells { // 配置App ID和App Key等应用账号信息 static String appId = "App ID" ; static String appKey = "App Key"

性能碾压 POI !利用模板语法快速生成 Excel 报表

柔情痞子 提交于 2020-07-24 07:23:59
本期讲师:刘鹏 GcExcel项目组,核心开发者 Hello,大家好,本期葡萄城技术公开课,将由我来为大家带来《性能碾压 POI !利用模板语法快速生成 Excel 报表》的技术分享。 本期课程,我们将借助 服务端表格组件GcExcel 的模板语法来完成Excel报表的生成,通过使用简单的语法标记,可以在不借助任何第三方组件的情况下,结合数据源,自动化地生成Excel模板文件。 目前,GcExcel可以生成的文件格式包括 XLSX、PDF、SSJSON 以及 HTML。在公开课上,我将详细介绍GcExcel 的模板功能,并教大家如何使用模板生成Excel报表,欢迎大家预约本期公开课,7月10日 下午14:00,期待您的准时收看。 免费预约地址: https://live.vhall.com/120821085 GcExcel 的模板功能简介 GcExcel 的模板功能是一个高级功能,它提供了一组标记,使用户可以通过简单的语法,快速制作出一个Excel模板文件。然后,结合数据源,自动化地生成文件。 要使用这个功能,请前往GcExcel产品官网下载试用最新版本。 工作机制: 首先,我们需要准备一个模板文件(不限于Excel文件,也可以是GcExcel的模板实例) 有了模板文件,我们就可以结合数据源和GcExcel的模板引擎,实现自动化生成模板文件的功能,从而避免了手动输入大量数据的工作

利用Python快速进行数据探查

孤者浪人 提交于 2020-07-24 05:56:53
工作中你是否遇见这样的问题: 接手新业务时需要了解数十上百张的数据库表结构; 表中的数据量级均是百万级以上; 希望可以批量快速生成如下表格。 数据探查结果表 如果你遇到了以上的问题,恭喜你,本文可以帮助你解决! 1、解决思路 但有人会有疑问,Python进行数据探查不是非常简单的事吗,一个函数分分钟搞定,还有必要专门介绍吗。如果你这样想就too yong too simple了。 你可以回想下,当我们采用descirbe()函数时,默认的前提是已经将数据读入了Python之中。但你可曾想过,实际工作中数据读入也会成为一种问题。对的,当数据量级一旦达到百万以上甚至更多时,Python读取数据的效率就很低了。读取一张表可能就要半小时以上,几十张表的话差不多就得一天了。这样低效的方法,肯定是不可取的。 本文就是来源于工作中的实际需求,在上述的方式行不通时,我转变思路寻找了另一种方式。具体的逻辑思路如下: 也就是说,为了快速进行探查,我们可以不用进行全表读入,只需对每个表每个字段进行分组查询就可以了。但如何将SQL查询语句进行循环呢?采用字符串的格式化输出! 2、代码实现 首先我们导入相关包 import pymysql import pandas as pd import datetime as dt start=dt.datetime.now() #为了计算程序执行时间

How to download Rhandsontable output into .xlsx and .pdf?

邮差的信 提交于 2020-07-18 08:41:25
问题 I would like to download rhandsontable output object from an R Shiny app into .xlsx and .pdf format. Does anyone have any idea how to do this? For example, I want to download the tables in the results tab in the app below (the codes are copied from my other question earlier): library(shiny) library(rhandsontable) ui <- navbarPage("App", tabPanel("Input", numericInput('num_of_table', "Number of sub tabs: ", value = 1, min = 1, max = 10), uiOutput("input")), tabPanel("Results", uiOutput(