有没有一种格式可以以比excel小的大小存储表格数据? - c#

我已经尝试过将其保存在文本文件中(这显然占用更多空间,因为它没有像Excel那样自定义容纳表格)。我还尝试保留序列化数据(c#,仅供参考)。在这两种情况下都没有任何好处。

参考方案

由于大多数“表格”数据都是文本,因此在保存之前将其压缩会大有裨益(以GZip和BsonWriter为例):

public static byte[] Compress(object entity)
{
  using (var stream = new MemoryStream())
  {
    using (var zipStream = new GZipStream(stream, CompressionLevel.Optimal))
    {
      using (var writer = new BsonWriter(zipStream))
      {
        var serializer = new JsonSerializer();
        serializer.Serialize(writer, entity);
      }
    }

    return stream.ToArray();
  }
}

**更新**

就序列化实体的大小和速度而言,Protobuf为far superior to both XmlSerializer和BinaryFormatter。尝试在压缩之前使用此方法序列化您的实体:

public static byte[] Compress(object entity)
{
  using (var stream = new MemoryStream())
  {
    using (var zipStream = new GZipStream(stream, CompressionLevel.Optimal))
    {
      Serializer.Serialize(stream, entity);  
    }

    return stream.ToArray();
  }
}

Microsoft Excel 2010和Python中的受保护视图 - python

这里没有代码示例。刚遇到Microsoft Excel 2010的问题,我在linux上有一个python脚本,可从csv文件中提取数据,将数据推送到excel,然后将该文件作为附件通过电子邮件发送到特定的电子邮件地址。我的问题是我在excel文件中使用公式,并且在它第一次打开时进入“ Protected View”。在单击“启用编辑”后,我的公式才会加载。…

Excel POI:当Excel少于135行时,“我们在…中发现了某些内容的问题” - java

使用POI创建Excel时,我的行为很奇怪。每当我的行数少于〜135时,我将无法打开Excel,但出现以下异常:如果我有更多行,则可以毫无问题地打开Excel。这是代码,我如何创建工作表:val out = new ByteArrayOutputStream() try { wb = createWorkbook() wb.writeToOutputStre…

检查Optional中是否存在null属性,并返回String Java Stream API - java

我有以下class Person private String firstName; private String familyName; // Setters and Getters 我有以下方法public String getFullName(Optional<Person> persons) { return persons .map(p…

LeetCode题解计算机为什么是基于二进制的?

可以是三进制么?二进制有什么好处?题解:为什么叫电子计算机?算盘应该没有二进制

LeetCode题解统计城市的所有灯泡

这个是我刚毕业的时候,一个真实的面试题,这是一个开放题。题目描述:想办法,将一个城市的所有灯泡数量统计出来。题解:费米估算法1、如果某个城市常驻人口有1000万2、假设每5人居住在一套房里,每套房有灯泡5只,那么住宅灯泡共有1000万只3、假设公众场所每10人共享一只灯泡,那么共有100万只4、主要的这两者相加就得出了1100万只当然实际上这是估算的,具体应…