在fortran中读取xls中的数据
比如在一个“2.xls”的文件中输入数据(如A1=3,A2=3,A3=4...,B1=2,B2=4...),如何在fortran中让这些数据能读入到一个数组中。...
比如在一个“2.xls”的文件中输入数据(如A1=3,A2=3,A3=4...,B1=2,B2=4...),如何在fortran中让这些数据能读入到一个数组中。
展开
2个回答
2010-07-22
展开全部
你的问题是非计算机专业学工程计算的学生最最最常问的问题之一。
下面凭我个人的经验进行回答。
①光靠fortran对xls文件直接进行读写,是非常难解决这个问题的。
因xls文件是一个十分复杂的格式,采用直接读取的方式非常变态,基本是没有人会这样做的。
当然不是说没有可能。因为微软已经将excel的文件说明公布出来的,我看了一下,有几百页的e文。理论上fortran就可以据这个说明对xls直接进行读和写。如果没有记错,好像有fortran对excel文件读写的编程模块买,利用这个模块就可以对xls进行读写了。小小就打击一下,这个可没有破解的。
②fortran调用其它代码,混合编程,等等。
举个例子,利用com编程搞定。
又或者你会delphi(这玩意儿控件很多的),它来操控excel不要太简单,呵呵,把对excel读写的任务交给它,计算的任务交给fortran(做一DLL让delphi调用就行了)。
f90SQL有没有用过?可以试试它,运气好的话还可以找到一个破解版。
qtXLS,同上。
如果,……,有很多的,对不对。
但是如果你只会fortran。再想其它办法吧。
③从改变xls文件下手。
好吧。没有其它办法了,这个就是最笨也最可靠的办法。我们知道fortran可以直接读写txt,对吧。那我们把xls变成txt不就成了?
你不会笨到复制、粘贴吧。你可以在excel中点菜单“文件”→“另存为”,记得下面要选csv格式,保存就行了。这个csv本质上就是txt啦,可以用直接打开的。相邻数据之间的好像是用逗号分隔的(如果没有记错)fortran应该可以直接读了(你只要求读吧)。
……
就写到这里吧。应该可以了。
下面凭我个人的经验进行回答。
①光靠fortran对xls文件直接进行读写,是非常难解决这个问题的。
因xls文件是一个十分复杂的格式,采用直接读取的方式非常变态,基本是没有人会这样做的。
当然不是说没有可能。因为微软已经将excel的文件说明公布出来的,我看了一下,有几百页的e文。理论上fortran就可以据这个说明对xls直接进行读和写。如果没有记错,好像有fortran对excel文件读写的编程模块买,利用这个模块就可以对xls进行读写了。小小就打击一下,这个可没有破解的。
②fortran调用其它代码,混合编程,等等。
举个例子,利用com编程搞定。
又或者你会delphi(这玩意儿控件很多的),它来操控excel不要太简单,呵呵,把对excel读写的任务交给它,计算的任务交给fortran(做一DLL让delphi调用就行了)。
f90SQL有没有用过?可以试试它,运气好的话还可以找到一个破解版。
qtXLS,同上。
如果,……,有很多的,对不对。
但是如果你只会fortran。再想其它办法吧。
③从改变xls文件下手。
好吧。没有其它办法了,这个就是最笨也最可靠的办法。我们知道fortran可以直接读写txt,对吧。那我们把xls变成txt不就成了?
你不会笨到复制、粘贴吧。你可以在excel中点菜单“文件”→“另存为”,记得下面要选csv格式,保存就行了。这个csv本质上就是txt啦,可以用直接打开的。相邻数据之间的好像是用逗号分隔的(如果没有记错)fortran应该可以直接读了(你只要求读吧)。
……
就写到这里吧。应该可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询