文件交换

图像缩略图

xlswrite - 遗产

版本1.2.0.1(5.58 KB)通过 米歇尔赫希
轻松创建从一个MATLAB®Microsoft Excel格式的电子表格。

5个下载

更新2019年12月4日

GitHub上查看GitHub上牌照

注:我万年前建立了这个一个,然后将其用MATLAB提供。我建议你使用xlswrite,甚至更好writetable,已经在MATLAB很多年了。

创建使用MATLAB提供ActiveX接口一个Microsoft Excel格式的电子表格。这也可以直接打开电子表格而没有保存到文件中。

没什么特别的:
- 万博1manbetx支持的标题行任意数
- 万博1manbetx支持列标题
- 将单个矩阵
- 可以写具体的表(感谢法赫德!)

例:
米=兰特(100,4);
标题=“这是在我电子表格的顶部一些介绍信息。”;
colnames = { '通道1', 'Ch2上', 'Ch3中', 'Ch4的'};
文件名= 'myfile.xls';
xlswrite(米,页眉,colnames,文件名);

将创建一个电子表格名为myfile.xls

引用作为

米歇尔赫希(2020年)。xlswrite - 遗产(https://github.com/michellehirsch/xlswrite--Legacy),GitHub的。检索

评论和评分(46

我在Matlab首发,我已经遇到了一个小问题。
我想写程序使一些变量值可以writen到Excel中。例如。(A = 12,B = 14,C = 15 ...)
然而,由于这一计划将运行多次,每个变量更新到Excel中。所以每次,我需要在一个新行writen,以确保没有覆盖。即时:

xlswrite( 'Z:\垃圾\ new.xls',ProbeName, '增益', 'A3');
xlswrite( 'Z:\垃圾\ new.xls',GainPX(1), '增益', 'B3');
xlswrite( 'Z:\垃圾\ new.xls',GainNX(1), '增益', 'C3');

然而,由于new.xls含有大量的信息(这将更新每个实验结果)。我每次运行这个程序,我想它会自动找到最后更新下正确的地址。问题是我不知道有多少人更新在Excel中,所以我不能确定我会开始写哪一行。

是否有任何命令,以便我能找到最新的Excel文档的最后一排,这样我可以保证我应该在哪里更新我的数据,这个Excel文件。非常感谢。

只是说明,以供新的功能要求 - 报价比我更大的灵活性,所以我建议你检查出来,如果这一个不满足您的需求,因为R14已经用MATLAB附带的xlswrite(MATLAB 7)。

苏菲尼夫

很好,那是可悲的,你不接受在列的标题任何数量...例如,如果你想有
频率1 = 10作为标题
...

泽维尔

您好,我想知道是否有某种方式在Excel 2007中的格式来写(* .xlsx)格式

DJR DJR

d [R

不工作的书面

钱德拉b k的序列

工作得很好,但可能是一个除了功能可以写行标题(职称)?
也许有一种方法使用当前版本做,但我无法做到这一点!

劳拉·伍德沃思

嗨,
有没有什么办法让xlswrite要么写到已经日期文件名/时间标记,或写入与已日期表/时间的通用文件名盖章呢?

我工作的代码,就是要多次运行,产生套答案,我试图阻止具有唯一的文件名,每次更改代码。

谢谢你的帮助!

劳拉

马修·博德里

LAKISHA GUINN

嗨,
能否请你让我知道如果有使用xlswrite保存到下一个空行的方式。我试图使用内置的xlswrite功能将数据保存到一个现有的Excel文件。有代码,将检测到下一个空行的位置,并保存数据呢?我尝试以下代码,但它给我一个错误:[NUM TXT DataRange] = xlsread(文件名);
[Z V] =尺寸(DataRange)
Z = Z + 1%给出了下一个空行的数量
范围= sprintf的( 'A \ B%d',Z)%的范围内应行的A列开始
xlswrite(文件名,数据,1,范围);

谢谢

穆罕默德JADOUI

你好,
能否请你让我知道如果有xlswrite的任何版本,其中处理列和行头?如果是的话,我可能有“.M”代码?
非常感谢
穆罕默德

莫急慕达

马克·海沃思

这一功能现在内置于核心MATLAB产品。现在有内置像xlswrite,xlsread,xlsinfo等功能(参阅Excel的帮助下进入。)所以,你很可能不会需要下载该代码。

维贾伊·克里希纳

桑托斯潘迪

为了创造新的工作表,如果SHEETNAME不存在,修改部分“%使指定表主动。”从如下所示的代码“xlswrite.m”。

%使指定片活性。
尝试
片材= Excel.ActiveWorkBook.Sheets;
target_sheet = GET(表中, '项目',SHEETNAME);
抓住
误差(%)如果片材不存在。这将是很好创建它,但
% 我太懒了。
%的替代的try / catch是xlsfinfo调用,以查看是否在片材的存在,但
%这是真的很慢。
%的误差([ '表' SHEETNAME '不存在!']);

%创建新表,如果它不存在
hWSs = op.worksheets;
target_sheet =调用(hWSs, '添加');
target_sheet.Name = SHEETNAME;
结束;

zmeb奥利维尔

我使用Windows 2000,当我保存数据到Sheet2中,这是对工作表Sheet1 disappeard数据。

蒂亚戈duperray

迪米特里Shvorob

该函数的伟大工程(除了刺激性65535-手段楠的事情)我的电脑上;然而,测试我的程序不同的PC上,使用Excel 2003,我收到错误消息

???调用错误,调度异常:
来源:Microsoft Office Excel中
说明:Microsoft Office Excel中无法访问该文件 'N:\统计\ MATLAB7 \工作'。有几个可能的原因:

?文件名或路径不存在。
?该文件正被另一个程序使用。
?您试图保存工作簿具有相同的名称为当前打开的工作簿。
帮助文件:C:\ Program Files文件\的Microsoft Office \ OFFICE11 \ 1033 \ xlmain11.chm
帮助上下文ID:0

没有磁盘被写保护,没有Excel文件打开。能否请作者与Excel 2003中测试m文件的兼容性如何?

迪米特里Shvorob

在我的电脑,用Excel 2002中,由函数生成的电子表格有“65535”每当楠;此外,为了使数字显示在一个合理的格式(例如,具有两个小数位),一个需求要经过选择的范围内,设置单元格为“数字”的步骤。有没有可能让用户避免这个小而不必要的麻烦?
谢谢。

迈克尔Kleder

哦,是的。

布拉德·希克斯

只是我需要什么.....谢谢!

Anadi马哈詹

小心你传递的那种文件名。默认情况下,结果被存储在工作目录。使用绝对路径修改线99和104,以避免使用PWD和filesep。
更换
调用(OP, '另存为',[PWD filesep文件名]);

调用(OP, '另存为',文件名);

并且
更换
OP =调用(Excel.Workbooks, '开',[PWD filesep文件名]);

OP =调用(Excel.Workbooks, '开放式',文件名);

这应该允许您通过任意路径,只要该文件可以在指定的路径中创建,该功能将正常工作。

很好!!

泰德Maddess

血腥了不起

欧米 - 巴拉克

不错,这里是在它不存在的情况下添加表的代码:

%使指定片活性。
尝试
片材= Excel.ActiveWorkBook.Sheets;
target_sheet = GET(表中, '项目',SHEETNAME);
抓住
尝试
target_sheet =调用(床单, '添加');
集(target_sheet, '姓名',SHEETNAME);
抓住
错误([“表” SHEETNAME“不存在!和无法创建”]);
结束
结束;

马修杰罗姆

特里武

大。这真的帮助了我很多!

乌代德赛

很聪明。很好。有用。

罗布·莫尔斯

尼斯的..将是很好能够设置一个选项,要求用一个对话框的文件名?谢谢!

法赫德马哈茂德

这确实是一个伟大的功能,我格莱德这将是(MATLAB 7.0)的一部分!我唯一的建议是增加一个选项写入所选择的薄片。

埃里克阿特舒勒

工作就像一个魅力,这是伟大的。非常感谢

埃里克

中号LG

乒乓球TOR

非常酷!

约翰·穆勒

这个功能是非常热 - 它的简单,写得很好,易于使用和相当强劲。笔者以该功能慷慨的意见,这使用户能够进行简单的修改容易,以量身定制的功能,以您的特定需求。做得好!

埃瓦里斯托·埃尔南德斯

罗杰尼希阿格拉瓦尔

这个附加在真的帮了我很多。感谢它

莫蒂胡伯

太好了!
谢谢

克里斯Patscheck

在非常好的补充。可能会有点慢,但谁真正需要快速的数据传输到Excel。我得到大量的使用了这一点,它使我不能写我自己的函数来照顾这。

谢谢,克里斯

Billot阿德里安

感谢分享它,它真的很有帮助。它可以很容易地修改,添加一个“文件更新”选项...只是一两件事:Excel中的ActiveX服务器创建有时如果函数应用于几次错误。在这种情况下,最好只打开一个ActiveX服务器和外界关闭的功能,计算后!

费米Omitaomu

这是非常好的。感谢您的分享。

肯stessens

非常有帮助的确。这仍然是在我看来,缺少的选项,是在现有的文件,而您却已经让Excel中的布局添加新数据。比方说,不仅是创建一个文件,而且还更新细胞,现有的Excel布局,这一点没有打开excel文件,甚至Excel程序...谢谢你让我知道,如果代码被添加;-)

Ĵ小号

谢谢,非常有用

哈迪海恩

非常感谢你,你刚才救了我们的时间increadible量

多发性硬化症。

有帮助

乙唐利

不错,但你是不是真的使用ActiveX到它的全部潜力,这将让您格式的单元格,阴影,边界等等。你可以做同样的事情,而不只是通过给制表符分隔(标签间隔)的ASCII文件扩展名.xls和调用“的Excel文件名”通过在命令提示符下购买的ActiveX(键入help!)。尼斯,你可以不保存,虽然打开......这绝对是有益的。

SAURABH葛

这是辉煌的。
我在想的东西沿着这些路线,只是因为斯科特异形作为免费的T恤赢家,我偶然点击他的个人资料,发现这个工具。

更新

1.2.0.1

刚刚更新的说明。

1.2.0.0

移动代码GitHub上。

1.1.0.0

小的改动说明和总结

1.0.0.0

BUG修复在我如何计算列名。感谢马克·海华斯发现和修复bug两者。

哎呀 - 上传错误的文件!

集成在提交给MATLAB中心修改后的版本提供了修复和增强。许多感谢投稿作者!

修正了> = 52柱(xlswrite_mod)

现在可以编写特定工作表(xlswrite2)

修正了在文档愚蠢错误

MATLAB版本兼容性
创建与R2019b
与任何版本兼容
平台兼容性
视窗 苹果系统 Linux的