我知道这标题看起来似乎有点简单,听起来更像是一个放错了地方的论坛帖子,但有时最简单的设想却不好实现,就像代码最简单的实现会很棘手。很有可能因为不可知原因而发生,比如你的应用程序运行,改变而且不是每次都在掌控之中。你没法控制其他人在什么环境运行你所构建的应用程序,你只能建议。
开发人员中几乎都会遇到这样的情况,ComponentOne也是如此。这就是为什么我们在设计库或是控件时牢记可能会用到的执行过程,这样就不会遇到上述情况。
类似的例子使用ComponentOne Excel的C1XLBook 类轻松加载信息。
你不仅可以直接读取磁盘的文件,也可以把你的数据转换成数据流来使用它们,然后把它们发送到ComponentOne Excel控件作为Excel工作表来操作。
C1Excel提供了一个简单的方法来用excel文件格式加载所有数据,后缀为.xls或是后来的Office Open XML格式:.xlsx.。C1XlBook.Load()方法目前在C1Xlbook类。我们已经提供了很多重载方法,可以使用在许多有用的用途,其中一些举例如下:
1. 当你使用内存流储存所有数据,或许你通过一个数据库来读取它,或通过响应来实现,但是现在你想把它作为一个excel文件分享,另一种可能性,你串接了大量文件并将它们直接存储在内存中,而不是使用文件流。如何才能不小题大做而结束它呢?
System.IO.MemoryStream ms1 = new System.IO.MemoryStream(); //Hypothetical blank memory string, this section can be used as required for your //own manipulation of the Memory Stream c1XLBook1.Load(ms1, C1.C1Excel.FileFormat.OpenXml);
2. 你的驱动上有大量excel文件,而你的应用程序需要在同一时间加载并修改它们。当你有准备就绪的现成excel文件,C1Excel会让你更加便捷地掌控并操作它们。
String path = String.Format(@"..\..\test.xlsx"); //Hypothetical easy situation c1XLBook1.Load(path);
注意到上述两个重载方法的主要区别了吗?区别就是后一种代码中没有文件格式,这是为什么呢?因为ComponentOne Excel能够智能识别加载的Excel文件的格式。
现在,应用这个技巧可以更容易操纵你的文件。