1金币
使用 数据流方式存入数据库,再次打开文件大小为2M左右。
使用文件路径的方式保存为XML文件,是1M左右。
我用设器器导出来.xlsx大小为25K左右。
我想请问一下,我如何保存。文件大小才会最小(内容及格式不能变化)。
使用数据流的方式如下:
MemoryStream stream = new MemoryStream();
Spread_Excel.Save(stream, false);
byte[] fbytes = stream.GetBuffer();
使用文件路径的方式如下:
Spread_RecdCertif.Save(saveFileDialog.FileName, false);
附件1-表示从数据库中用以下方式生成的文件 2M
DataTable dt = DbHelperSQL.QueryTable(Sql);
byte[] bin = (byte[])dt.Rows[0][0];
tpNumber = dt.Rows[0][1].ToString();
if (bin.Length > 100)
{
using (FileStream fs = new FileStream(RecdPath, FileMode.Create, FileAccess.Write))
{
fs.Write(bin, 0, bin.Length);
fs.Dispose();
fs.Close();
return RecdPath;
}
}
2-表示用Spread打开上面1文件后,用Spread_RecdCertif.Save(saveFileDialog.FileName, false);导出保存的。 1M
3-表示用设计器另存为XLSX的文件。25K,但此文件中的格式和内容有一定化。
|
最佳答案
查看完整内容
你好,XLSX保存的数据和XML内容是不同的,XML中除了XLSX中的内容外,还会包含一些spread控件的特有设置,因此体积差异是较大的
至于你说的两个XML体积不同,理论上来说存储的数据是相同的,我把两个打开对比了一下也是如此,只是在R201900001641.xml最后一行存了很多空字符,导致体积变大,删除后体积就和另一个一样了,这个应该不影响使用
|