怎样在客户端导出 Spread 到 Excel 文件

大多数时候,终端用户想把 Spread 导出到 Excel 文件,存储到本地电脑上。GrapeCity Spread 控件的 SaveExcel() 方法提供把 Spread 内容导出到 Excel 文件的功能,SaveExcel() 方法拥有16种构造函数,这16中构造函数有的应用在服务端,有的应用在客户端。

发布于 2012/11/14 00:00

大多数时候,终端用户想把 Spread 导出到 Excel 文件,存储到本地电脑上。GrapeCity Spread 控件的 SaveExcel() 方法提供把 Spread 内容导出到 Excel 文件的功能,SaveExcel() 方法拥有16种构造函数,这16中构造函数有的应用在服务端,有的应用在客户端。

我们需要调用 SaveExcel(Stream,ExcelSaveFlags) 构造函数去实现。
下面是导出到 Excel 文件的一个例子:

 
System.IO.MemoryStream ms = new System.IO.MemoryStream();

FpSpread1.SaveExcel(ms, FarPoint.Excel.ExcelSaveFlags.SaveCustomColumnHeaders);

Response.Clear();

Response.ContentType = "application/VND.ms-excel";

Response.AddHeader("Content-Disposition", "attachment;filename=spread.xls");

Response.BinaryWrite(ms.ToArray());

ms.Flush();

ms.Close();

Response.End();

复制代码

如果你想导出 Spread 文件到开放的 XML 文件,代码应这样设置:

 
System.IO.MemoryStream ms = new System.IO.MemoryStream();

FpSpread1.SaveExcel(ms, FarPoint.Excel.ExcelSaveFlags.UseOOXMLFormat);

Response.Clear();

Response.ContentType = "application/VND.ms-excel";

Response.AddHeader("Content-Disposition", "attachment;filename=spread.xlsx");

Response.BinaryWrite(ms.ToArray());

ms.Flush();

ms.Close();

Response.End();

复制代码

现在,让我们逐行的解释上述代码:
1.在第 1、2 行代码,我们创建了 MemoryStream 的实例对象,然后把它传递给 SaveExcel() 方法。如果我们想把 Spread 保存到开放的 XML 文件,可以应用 "UseOOXMLFormat" 保存标记。
2.第 3 行代码,调用 Response.Clear() 方法清除缓冲区的所有输出。
3.第 4 行代码,给 Response 对象的 ContentType 属性赋值为 "application/VND.ms-excel"
4.第 5 行代码,调用 Response.AddHeader() 方法设置适当的 HTTP 报头给 Response 对象。我们使用 "Content-Disposition" ,导出 Excel 文件时将激活文件下载对话框
5.第 6 行代码,调用 Response.BinaryWrite() 方法.使用这个方法的主要原因是这个方法可以在"不进行字符转换"的情况下把文本文件输出到缓冲区。

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态