Spread for Windows Forms快速入门(14)---文件操作

简介: 你可以将数据从Spread中存到几种不同类型的文件中或者可以在Spread中打开几种不同类型的数据文件。通过使用相应的代码,你可以将整个控件,某个特定的表单,或者某个特定单元格区域中的数据保存为几种不同的文件类型或者流。

你可以将数据从Spread中存到几种不同类型的文件中或者可以在Spread中打开几种不同类型的数据文件。通过使用相应的代码,你可以将整个控件,某个特定的表单,或者某个特定单元格区域中的数据保存为几种不同的文件类型或者流。类似的,你可以允许用户对某几种文件类型进行文件操作。

保存到Excel文件

你可以使用ExcelSaveFlags枚举类型的UseOOXMLFormat选项,将数据保存到Excel格式文件(BIFF8 格式)或者Excel 2007 XML 格式(xlsx)。默认的,当你保存为Excel文件时,无论Spread的数据模型中存储的是什么,都将以BIFF8格式写出到文件或者流中。

如果将一个数字或者日期放入Excel单元格中但是列宽并不足以显示数据,那么Excel就以###显示该单元格。请确定 列宽足够以便在导出的Excel格式文件中显示数据。

想要了解所使用方法的详细信息,请参阅FpSpread类的SaveExcel 方法。有许多不同的SaveExcel 方法。其中有些方法有一个saveFlags选项。这允许你指定表头以及其他选项。表头会被输出为冻结的行或者列。

ExcelOpenFlags或者ExcelSaveFlags枚举类型中的文档缓存选项允许用户打开,编辑,以及在不丢失高级文件内容和格式的情况下保存文件。只有当打开文件的类型与保存文件的类型类似时,内容才会是无损的。如果高级文档内容使用除了xls(x)文件之外的格式,那么 附加的文件就需要与xls(x)文件在同一文件夹。高级内容可以是宏,ActiveX控件, 数据连接,等等。

示例代码将Spread控件中的数据保存为Excel格式的文件并指定包含在输出中的行标题或列标题。

//将包括标题的数据保存到Excel格式文件。

fpSpread1.SaveExcel("C:\\excelfile.xls", FarPoint.Win.Spread.Model.IncludeHeaders.BothCustomOnly);

保存为一个Spread XML 文件

你可以将控件中的数据或者将数据和格式一并存入Spread XML文件或者一个流中。当你执行保存操作时,控件中所有表单 就会被保存成为文件或者流。如果你选择保存格式,那么被保存的数据就会包括格式化的字符,例如货币符号以及其他 诸如同样被保存的单元格类型信息。

想要了解所使用方法的细节,请参阅FpSpread类的Save 方法。

示例代码将Spread控件中的格式和信息保存到一个Spread XML文件中。

//保存数据和格式到一个XML文件。

fpSpread1.SaveXml("C:\\SpWinFile1.xml", false);

打开一个Excel文件

你可以打开Spread 中一个已存在的Excel格式文件(BIFF8格式或者xlsx)或逗号分隔的文件。你可以打开整个复合表单文件到Spread控件中,也可以指定一个特定表单(通过名称或者数字),并将其打开到一个指定的表单中。

Spread可以在绑定和未绑定两种模式中使用。当打开一个Excel文件时,Spread处于 未绑定模式,因此DataSource属性返回null(Visual Basic时返回Nothing)。

只要提供要打开文件的路径和文件名以及其他有关信息,使用FpSpread类的OpenExcel方法之一可以打开Excel文件中所有的表单。 你可以使用 ExcelOpenFlags 枚举类型指定附加的打开选项。如果只有导入数据,这个枚举类型允许你决定冻结的列或者行如何被导入,并决定其他可选方面。 要打开Excel文件中的指定表单,你可以使用SheetView类的OpenExcel方法,通过名字或者数字来指定表单。

ExcelOpenFlags或者ExcelSaveFlags枚举类型中的文档缓存选项允许用户打开,编辑,以及在不丢失高级文件内容和格式的情况下保存文件。 只有当打开文件的类型与保存文件的类型类似时,内容才会是无损的。如果高级文档内容使用除了xls(x)文件之外的格式,那么 附加的文件就需要与xls(x)文件在同一文件夹。高级内容可以是宏,ActiveX控件,数据连接等。

请注意涉及Excel文件中的表单索引是以零开始的,所以Excel文件中的第一个表单是0,第二个是1,以此类推。

这个示例代码使用了FpSpread类中的方法打开了一整个Excel格式的文件,并且从指定的Excel表单中将数据加载到Spread控件中的指定表单。

//打开Excel文件的3号表单。

fpSpread1.ActiveSheet.OpenExcel("C:\\excelfile.xls", 3);

打开一个Spread XML文件

Spread可以从XML文件或流中打开数据或者数据和格式到Spread控件中。

想要了解有关打开一个Spread XML文件的详细信息,请参阅FpSpread类的Open方法。

示例代码打开了一个已存在的与Spread兼容的XML文件。

//打开一个与Spread兼容的XML文件。

fpSpread1.OpenXml("C:\\spreadfile.xml");

 

附:Spread for Windows Forms快速入门系列文章

Spread for Windows Forms快速入门(1)---开始使用Spread

Spread for Windows Forms快速入门(2)---设置Spread表单

Spread for Windows Forms快速入门(3)---行列操作

Spread for Windows Forms快速入门(4)---常用的单元格类型(上)

Spread for Windows Forms快速入门(5)---常用的单元格类型(下)

Spread for Windows Forms快速入门(6)---定义单元格的外观

Spread for Windows Forms快速入门(7)---单元格的交互操作

Spread for Windows Forms快速入门(8)---单元格中用户动作出发的事件

Spread for Windows Forms快速入门(9)---使用公式

Spread for Windows Forms快速入门(10)---绑定到数据库

Spread for Windows Forms快速入门(11)---数据筛选

Spread for Windows Forms快速入门(12)---数据分组(Outlook风格)

Spread for Windows Forms快速入门(13)---数据排序

 

相关阅读:

Spread for Windows Forms 7新功能使用指南

Spread Studio 10.0v1 发布

SpreadJS 10.0v1 发布

 

相关文章
|
程序员 编译器 C++
【深入探究Qt内部架构】QObject、事件循环与Q_OBJECT宏的协同作用(一)
【深入探究Qt内部架构】QObject、事件循环与Q_OBJECT宏的协同作用
524 0
|
8月前
|
机器学习/深度学习 人工智能 Serverless
👉「免费满血DeepSeek实战-联网搜索×Prompt秘籍|暨6平台横评」
满血 DeepSeek 免费用!支持联网搜索!创作声明:真人攥写-非AI生成,Written-By-Human-Not-By-AI
4706 10
👉「免费满血DeepSeek实战-联网搜索×Prompt秘籍|暨6平台横评」
|
SQL 开发框架 .NET
高级主题:Visual Basic 中的多线程和并发编程
【4月更文挑战第27天】本文深入探讨了Visual Basic中的多线程和并发编程,阐述了其基本概念,如何使用`System.Threading.Thread`类创建线程,以及借助`ThreadPool`、`Monitor`和`SyncLock`进行同步管理。文章还提到了多线程编程面临的挑战如竞态条件、死锁和资源竞争,并介绍了VB的异步编程、TPL和并发集合等高级技术。通过实例展示了多线程在文件处理、网络通信和图像处理中的应用,并给出了多线程编程的最佳实践。总之,理解并掌握VB的多线程和并发编程能有效提升应用程序的性能和响应能力。
454 1
|
数据采集 存储 分布式计算
构建智能数据湖:DataWorks助力企业实现数据驱动转型
【8月更文第25天】本文将详细介绍如何利用阿里巴巴云的DataWorks平台构建一个智能、灵活、可扩展的数据湖存储体系,以帮助企业实现数据驱动的业务转型。我们将通过具体的案例和技术实践来展示DataWorks如何集成各种数据源,并通过数据湖进行高级分析和挖掘,最终基于数据洞察驱动业务增长和创新。
631 53
|
12月前
|
SQL 存储 数据采集
sql中varchar转number时报错怎么解决
通过上述策略的综合运用,面对VARCHAR到NUMBER的转换挑战,不仅能够游刃有余地解决现有的问题,更能前瞻性地预防未来的隐患。在数字化转型的浪潮中,凭借其高性能、安全稳定的云产品与服务,为各类企业级应用保驾护航,助您轻松驾驭数据的海洋,实现业务的无缝扩展与全球布局。
402 0
|
缓存 Serverless 容器
函数计算操作报错合集之如何解决"connection errored out"错误,导致无法生成图像
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
310 2
浅谈 Vue3 的模块拆分与 API 重写
浅谈 Vue3 的模块拆分与 API 重写
|
SQL 数据处理 数据库
DELETE 和 TRUNCATE 语句之间的详细区别
【8月更文挑战第31天】
1672 0
|
Java Linux 网络安全
在Linux上搭建Maven仓库的实战教程
在Linux上搭建Maven仓库的实战教程
662 0
|
机器学习/深度学习 数据采集 算法
利用scikit-learn进行时间序列预测
【4月更文挑战第17天】本文介绍了如何使用Scikit-learn进行时间序列预测,涉及数据预处理(如缺失值填充、平滑和特征提取)、模型选择(线性回归、SVM、随机森林等)、模型评估与优化(如MSE、RMSE、MAE作为评估指标,超参数优化和模型融合)。Scikit-learn为时间序列预测提供了强大支持,但实际应用需结合问题需求和数据特性。未来可探索深度学习在此领域的应用。