我已经尝试保留在文本文件中(显然它需要更多的空间,因为它没有自定义来保存表格,因为excel是)。我也试过保存序列化数据(c#,只是一个fyi)。两种情况都没有任何好处。
答案 0 :(得分:5)
由于大多数“表格”数据都是文本,因此在保存之前压缩它会获得很大的收益(以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();
}
}