从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
评论