从Fortran向excel输出文件的方法

ScienceSoft 编程软件评论1阅读模式

从fortran向excel输出文件的方法(增加了lm_lx用shell32打开xls的句子):

1、xls格式

excel的默认格式,估计是大家所期望的输出格式。方法很简单,只要知道xls文件的分列符号是tab键就行了,于是在同行的各数据间加上"     "字符(按一下tab键,在fortran输出时两边加上英文引号)就搞定了。

例子如下:

!VF6.6通过。Fortran将数据输出到xls文件的例子。

program main

Use shell32

implicit none

integer::i,j

real::a(10,10)

real::f_open

a=2

open(1,file="result.xls")

do i=1,10

write(1,"(10(f3.1,' '))") (a(i,1),j=1,10)

!   write(1,"(10(f3.1,a))") (a(i,1)," ",j=1,10) !当然,也可以这样

end do

close(1)

f_open=ShellExecute(0, "open", "result.xls", NULL, NULL, 1)

stop

end program main

 

★要说明的是,其实,在实质上这并不是真正意义上的excel格式的文件,而仍然是txt文件,只不过能默认excel软件能打开并正确显示。用excel打开后,点击保存文件,这时候excel会提醒是否转为真正的xls格式,如果是,则会另存一份“正版”的excel文件。

------------------------------------------------------------------------

 

2、csv格式

csv也可以用excel打开。一般情况下,windows系统下装了excel的话,excel就是csv的默认打开方式。需要知道的是,csv的分列符号是有别于xls格式的,它是默认分列符号是英文逗号。

 

下面引用一段文字吧(百度上查的):

CSV其实就是COMMA SEPARATED VALUE的缩写,出现在档案总管中的档案类型是「逗号分格」,依计算机原来的设定,如果直接点选该档案,计算机将以EXCEL的模式开启该档案。但建议您千万不要这么做,因为CSV档如果以EXCEL开启,由于计算机档案数据转换的原因,会将其CRC之数值改做科学记号方式储存,而造成档案中的 CRC值发生错误。这也是笔者初出茅庐时所得到的惨痛经验,但如果想一窥CSV档的真实面貌,笔者建议您使用WORDPAD或是记事本(NOTE)来开启,再则先另存新档后用EXCEL开启,也是方法之一。开启后的CSV档包含了四或五个字段(部分),由左至右分别记载着:文件名称(XXXX.JPG)、档案大小(以BYTE为单位)、CRC32值(八个英文字母或数字组成)、档案路径(档案储存的子目录名称)和档案内容描述(一般来说都是明星的英文姓名甚或是专辑名称,也可能空白)。而其中第四栏「档案路径」因为每个人储存整理图档的方式不同,所以本栏通常不存在,而一般有含有「档案路径」这栏的CSV档,又称为ECSV档案

 

例子:

!注: CVF6.6通过。Fortran将数据输出到csv文件的例子。

program main

use shell32

implicit none

integer::i,j

real::a(10,10)

real::f_OpenFile

a=2

open(1,file="result.csv") !csv格式

do i=1,10

write(1,"(10(f3.1,','))") (a(i,1),j=1,10)

!   write(1,"(10(f3.1,a))") (a(i,1),',',j=1,10)

end do

close(1)

f_Openfile=ShellExecute(0,"open","result.csv",null,null,1)

stop

end program main

via 从fortran向excel输出文件的方法_vqimwr_百度空间.

weinxin
我的微信公众号
分享科研软件、科研方法,为你的科研助力。
ScienceSoft
  • 本文由 发表于 28 3 月, 2015 03:59:42
  • 转载请务必保留本文链接:https://www.sciencesoft.cn/fortran-to-excel-input/
评论  0  访客  0
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定