java linux excel_linux服务器上的java是怎么读写excel文件的?

首先呢,文件一般是指具有特定格式的一组数据,他们大致分为两种,可执行文件,和普通文件,可执行文件和系统关系密切,需要系统的某些特殊环境来进行执行,但是普通的数据文件就没有这种问题,他们不依赖于系统,就是具有某些结构和格式的一般数据而已,即使是二进制也不例外(实际上文件存储的最终形式都是二进制的)。

如果我们了解他们的结构,就能够明白每一部分都在描述一些什么东西,就以Excel的新格式Xlsx举例,他是一个xml格式,你应该知道什么是xml吧,他们通常是一组标签,标签看上去是被尖括号包裹在内的文本,以及在一对尖括号中间的其他描述(叫做属性)和在两个标签中间的文本内容组成,就像这样

标签内部的文本

标签名称>

如上所述,就是一个标签了,很多这样的东西就构成了一个xml格式的文本,excel的xlsx格式就使用这种标签的形式描述它的单元格和数据,样式等等,与xml一起的通常还有一些图片,脚本等其他文档的内容,而整体的xlsx格式,其实是一个压缩包的格式的变体。

了解了这些,我们能做什么呢?我们可以通过java的xml相关api和压缩相关的api,首先解析xlsx包,获取里面的文件,然后读取他的xml,获取文档的数据,只要知道了每一个tag的含义,就能直接通过操作这个压缩格式和修改这个xml来达成excel的操作,而poi我认为他就是这么做的,具体实现的过程,这你就得去看源码了,poi是一个开源项目,源码很好找的。

那么那种真正的二进制应该怎么做呢?

首先,我们还是需要知道他的格式,例如,第xxx到第xxx位(字节)在存储什么,这一个数据的结束标志是什么,然后采用流的形式读取他们即可,其实和上面的流程没有本质的区别,之前我尝试手动读取过kindle的mobi文件(虽然后面找到了类库),基本流程就是这样的,参考官方给出的数据表格,我们就能知道文件的什么地方存储描述什么的数据,然后只需要按照字节数读取并且加以解析就可以了。

其实说难度并不很大,只是麻烦,十分的麻烦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值