Matlab读写excel文件函数

(2010-06-10 21:33:44)

标签:

it

Matlab读写excel文件函数

Matlab读写excel文件函数:xlsread和xlswrite(转载)

在实验编程中产生了需要将matlab运行的试验结果写入

excel,从excel中读数据的要求,这样就需要用到matlab操作excel表格的相关函数:xlsfinfo,xlsread和

xlswrite。

我的应用实例:

对如下文件数据处理转化:test.txt[code]

================25-Jul-2008 10:07:25 ===============

jink2005stop

H R S

T H R

S C H

R S M

H R S

N H R

S Q H

R S D

jink2005start

GGGY

-108.766778 172.092305

GGGT

-64.567515 132.922390

GGGE

-73.388772 -149.940032

GGGH

58.886619 -43.304309

GGAG

0.000000 0.000000

GGAP

0.000000 0.000000

GGAT

0.000000 0.000000

GGAM

-89.880662 -4.051511

GGAN

66.886988 28.233579

jink2005stop

[/code]转存到test.xls的程序:[code]

function countResult(filename, xlsfile)

% 读取CSAResult.txt文件,统计到Excel表格中

% xlsRow为本文件写到excel文件excelResult.xls的起始行

fid = fopen(filename);

% Excel = actxserver('Excel.Application');

fRow = 0;

sheet = 1;

xlsRow = 1;

% 找出要用数据的第一行(jink2005start下面)

tline = strtrim(fgetl(fid));

matches = findstr(tline, 'jink2005start');

while feof(fid) == 0 & length(matches) == 0

tline = strtrim(fgetl(fid));

matches = findstr(tline, 'jink2005start');

end

seq = 'xxxx';

while feof(fid) == 0

tline = strtrim(fgetl(fid));

matches = findstr(tline, 'jink2005stop');

if length(matches) >

0 %找到停止行标识,则开始再次寻找下面start处

tline = strtrim(fgetl(fid));

matches = findstr(tline, 'jink2005start');

while feof(fid) == 0 & length(matches) == 0

tline = strtrim(fgetl(fid));

matches = findstr(tline, 'jink2005start');

end

elseif length(tline) == 4

seq = tline;

elseif length(tline) ~= 0

% 开始将angle、seq写入excel表格

[token, rem] =

strtok(tline); %使用默认的空格分割字符串,第一个空格前在token里,剩下在rem里

M(1, 1) = {str2num(token)};

M(1, 2) = {str2num(rem)};

M(1, 3) = {seq};

if xlsRow > 60000

sheet = sheet + 1;

xlsRow = 1;

end

xlswrite(xlsfile, M, strcat('Sheet', num2str(sheet)), strcat('A',

num2str(xlsRow)));

xlsRow = xlsRow + 1;

end

end

fclose(fid);

[/code]

运行方式如下:

[code]countResult('test.txt', 'test.xls'); [/code]

结果text.xls中的结果如下:

-108.766778 172.092305 GGGY

-64.567515 132.92239 GGGT

-73.388772 -149.940032 GGGE

58.886619 -43.304309 GGGH

0 0 GGAG

0 0 GGAP

0 0 GGAT

-89.880662 -4.051511 GGAM

66.886988 28.233579 GGAN

参考文献:

matlab帮助文档

[url=http://luobo.ycool.com/post.650879.html][b][color=#86aa42]将matlab求出的矩阵保存在Excel表格中[/color][/b][/url]

[url=http://luobo.ycool.com/post.650879.html]http://luobo.ycool.com/post.650879.html[/url]

jink2005 发表于 2008-8-10 12:50

程序改进:减少打开关闭excel次数,增加excel最大行限制处理

[code]

function countResult(filename, xlsfile)

% 读取CSAResult.txt文件,统计到Excel表格中

% xlsRow为本文件写到excel文件excelResult.xls的起始行

fid = fopen(filename);

% Excel = actxserver('Excel.Application');

sheet = 1;

xlsRow = 1;

% 找出要用数据的第一行(jink2005start下面)

tline = strtrim(fgetl(fid));

matches = findstr(tline, 'jink2005start');

while feof(fid) == 0 & length(matches) == 0

tline = strtrim(fgetl(fid));

matches = findstr(tline, 'jink2005start');

end

seq = 'xxxx';

mRow = 0;

while feof(fid) == 0

tline = strtrim(fgetl(fid));

matches = findstr(tline, 'jink2005stop');

if length(matches) >

0 %找到停止行标识,则开始再次寻找下面start处

tline = strtrim(fgetl(fid));

matches = findstr(tline, 'jink2005start');

while feof(fid) == 0 & length(matches) == 0

tline = strtrim(fgetl(fid));

matches = findstr(tline, 'jink2005start');

end

elseif length(tline) == 4

seq = tline;

elseif length(tline) ~= 0

% 开始将angle、seq写入excel表格

[token, rem] =

strtok(tline); %使用默认的空格分割字符串,第一个空格前在token里,剩下在rem里

mRow = mRow + 1;

M(mRow, 1) = {str2num(token)};

M(mRow, 2) = {str2num(rem)};

M(mRow, 3) = {seq};

% 每次M到达500行才写入excel减少开关excel操作

if mRow >= 500

if (xlsRow + 500) > 60000

sheet = sheet + 1;

xlsRow = 1;

end

xlswrite(xlsfile, M, strcat('Sheet', num2str(sheet)), strcat('A',

num2str(xlsRow)));

mRow = 0;

xlsRow = xlsRow + 500;

M = {};

end

end

end

% 文件读写结束M可能不足500行,将剩余M写入excel

xlswrite(xlsfile, M, strcat('Sheet', num2str(sheet)), strcat('A',

num2str(xlsRow)));

fclose(fid);

return

[/code]

jink2005 发表于 2008-8-14 15:23

我遇到过的问题

>>

countResult('CSAResult.txt');

??? Error using ==> xlswrite

Error: Object returned error code: 0x800A03EC

Error in ==> countResult at 38

xlswrite('excelResult.xls', M, strcat('A',

num2str(xlsRow)));

——Matlab7.0中提供的可以省略工作表参数的使用方法,好像不对,我省略后,它将后面的表格range作为表明来使用。工作表参数可能不能省略。

>> countResult('CSAResult.txt',

1);

??? Invoke Error, Dispatch Exception:

Source: Microsoft Office Excel

Description:

“excelResult.xls”为只读。要保存当前工作簿的副本,请单击“确定”按钮,在“另存为”对话框中为副本指定一个名称。

Help File: D:\Program Files\Microsoft

Office\OFFICE11\2052\xlmain11.chm

Help Context ID: 0

Error in ==> countResult at 38

xlswrite('excelResult.xls', M, 'Sheet1',

strcat('A', num2str(xlsRow)));

分享:

喜欢

0

赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵   称:

评论并转载此博文

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

matlab读取文件xlsfinfo,Matlab读写excel文件函数相关推荐

  1. python pandas读取excel-Python使用Pandas读写EXCEL文件教程

    欢迎,来自IP地址为:211.103.135.163 的朋友 教程开始之前,我们需要首先了解一下什么是Excel,这有助于理解之后教程中的内容. 什么是Excel Excel  是微软出品的和款办公软 ...

  2. python openpyxl读取excel_Python使用openpyxl读写excel文件

    这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 1.读取Excel文件 默认打开的文件为可读写,若有需要可 ...

  3. python怎么读excel文件-python如何读写excel文件

    python读写excel的方式有很多,不同的模块在读写的方法上稍有区别: 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pandas进行excel读写: 为了方 ...

  4. 怎么用python处理excel文件-用Python读写Excel文件的方式比较

    前段时间做一个项目,却不得不使用Python直接生成Excel文件,后来随着需求的变化,还要对已有的Excel文件进行读取.在这个过程中,研究并尝试了一些工具,也走了一些弯路.记录下来,下次再有类似需 ...

  5. python怎么读excel文件-用python读写excel文件

    用python写excel文件 安装xlwt pip install xlwt 例子 #!/usr/bin/python # _*_ coding:utf-8 _*_ #--------------- ...

  6. python读取数据文件-python多种读写excel等数据文件的方式(收藏篇)

    前言: python处理数据文件的途径有很多种,可以操作的文件类型主要包括文本文件(csv.txt.json等).excel文件.数据库文件.api等其他数据文件.下面小编整理下python到底有哪些 ...

  7. matlab读取xls、xlsx、csv文件

    常常我们在matlab里需要读取excel数据文件或者保存matlab中矩阵的数据.但是直接在matlab里用xlswrite写出的文件实际上是csv格式,在matlab里无法用xlsread读取.笔 ...

  8. android读取excel文件_python里读写excel等数据文件的几种常用方式

    python处理数据文件第一步是要读取数据,文件类型主要包括文本文件(csv.txt等).excel文件.数据库文件.api等. 下面整理下python有哪些方式可以读取数据文件. 1. python ...

  9. c语言从excal读取字符串,C语言操作EXCEL文件(读写)

    C语言操作EXCEL文件(读写) 本文主要介绍通过纯C语言进行EXCEL的读写操作:(修改时间2018.08.28,如果运行结果均是0,请看文章最后一节) C语言读操作 C语言写操作 在之前需要使用C ...

  10. 【Matlab】将.mat文件转换为多个excel文件

    将.mat文件转换为多个excel文件 最近在准备毕业论文,需要用到matlab,但是之前没学过,自己总结一些不太会的内容,有什么问题欢迎大佬们指导,感谢观看. 起因是想做BP神经网络的内容,尝试找代 ...

最新文章

  1. 百度信息流和搜索业务中的KV存储实践
  2. nodejs操作mysql创建库和表_Nodejs操作MySQL数据库
  3. 实现MFC中Radio Button组绑定同一变量控制
  4. Java 运行时的内存划分
  5. python绘制直角坐标系_小白学 Python 数据分析(16):Matplotlib(一)坐标系
  6. mongodb简单的函数
  7. 安卓访问mysql的源码_【原创源码】安卓数据库简单操作demo
  8. python实战项目书 题库系统_Python实战视频教程_基于Python项目与面试题实例讲解(进阶训练篇)...
  9. IP,TCP 和 HTTP
  10. 翻译:RealEyes OSMF Player Sample - 第二部分:建立和配置 (转载)
  11. Kotlin基础学习第3章—内置类型
  12. 最详细iOS打包流程
  13. matlab三维点云去除背景,一种点云处理三维重建方法与流程
  14. JS JSP HTML CSS概念
  15. 写一个php简单的递归函数
  16. Sparql与sql的比较
  17. DataPipeline丨LinkedIn元数据之旅的最新进展—Data Hub
  18. 计算机视觉——计算视差图
  19. Daily Pathtracer!安利下不错的Pathtracer学习资料
  20. Oracle 业务表自制审计字段使用

热门文章

  1. 初探MySQL的语句之二
  2. model.load_state_dict(state_dict, strict=False)
  3. 论智能的起源、进化与未来
  4. 射频识别技术漫谈(4)——数据编码
  5. 协议转换器的作用有哪些?
  6. java走迷宫课程设计_java课程设计走迷宫.doc
  7. 一款轻量的支付宝支付组件
  8. 秒杀活动,怎么设计全套技术方案
  9. 四种渠道打造网站高质量原创内容
  10. 计算机碎片整理的作用,经常做磁盘碎片整理的好处