导入数据从excel与公式

77次(过去30天)
阿卡什
阿卡什 2014年5月14日
回答: 图像分析 2019年11月26日
我想从excel表格导入数据,确保表格背后的逻辑不会丢失。所以分子式保持不变。那要怎么做呢?
附加的文件。
1评论
dpb
dpb 2014年5月15日
我猜你不能…

登录评论。

接受的答案

埃里克
埃里克 2014年5月15日
这里有一段代码让你开始。我创建了一个名为delme.xlsx的电子表格。在单元格A1中,我将值设为1。在单元格A2中,我使用公式“=PI()”。我将单元格A1命名为Value1,将单元格A2命名为Value2。在单元格A3中,我使用公式“=sum(Value1,Value2)”。
帧=“c: \ temp \ delme.xlsx”
xlObj = actxserver (“Excel。应用程序的);%开始Excel
xlObj。可见= 1;%让Excel可见
wsObj = xlObj.Workbooks.Open(帧);%打开工作簿
表= wsObj.Sheets.Item (1);假设我们用的是第一张纸
A3_value =表。范围(“A3”).价值
A3_formula =表。范围(“A3”).公式
A3_value等于4.141592653589793,A3_formula是字符串"=SUM(Value1,Value2)"。
希望这可以帮助,
埃里克
4评论
dpb
dpb 2019年11月26日
我没试过,但我觉得很简单
A3_formula =' = (A1, A2)的总和
表。范围(“A3”) .Formula = A3_formula;
应该能成功。
当然是盐……

登录评论。

更多的答案(2)

图像分析
图像分析 2014年5月15日
我相信您可以使用ActiveX来实现,尽管我不确定使用哪个ActiveX命令是正确的。使用ActiveX,你几乎可以用Office应用做任何事情。因为有成千上万种方法,所以找出使用哪种方法才是难点。
1评论
dpb
dpb 2014年5月15日
是的,我应该给“不能”添加一个警告—-我只是使用了更高级的功能来限制“导入”理念。

登录评论。


图像分析
图像分析 2019年11月26日
试试我做的这个评论不错、功能齐全的演示。将工作簿的名称更改为您正在使用的任何名称,而不是“Example.xlsx”。
%使用ActiveX启动Excel服务器(仅限Windows)。
excelObject = actxserver (“Excel。应用程序的);
%创建现有工作簿的文件名。
fullFileName = fullfile (pwd,“Example.xlsx”);
%确保文件存在。
如果~ isfile (fullFileName)
errorMessage = sprintf ('工作簿文件不存在:\n%s', fullFileName);
uiwait (errordlg (errorMessage));
返回
结束
%从磁盘打开工作簿。
excelWorkbook = excelObject.workbooks.Open (fullFileName);
% Excel目前是不可见的。使其可见。
excelObject。可见= true;
%用公式创建一个字符串,就像在Excel中一样。
yourFormula =' = (A1 . . A100)的总和%不允许有空格。
将公式赋给单元格“B1”。
excelWorkbook.ActiveSheet.Range (“B1”).公式= yourFormula;
%保存工作簿的当前状态。
excelWorkbook.Save;
%关闭工作簿。Excel将保持开放,但隐藏起来。
你仍然可以在任务管理器中看到它是“Microsoft Excel”。
excelWorkbook.Close;
%关闭Excel服务器实例。
excelObject.Quit;
%即使在退出后,你仍然可以在任务管理器中看到它是“Microsoft Excel”。
%将excel对象变量从MATLAB内存中清除。
清楚(“excelObject”“excelWorkbook”“yourFormula”);
%清除最终关闭了服务器,它不再出现在任务管理器中。
流(“完成与Excel的交互。”);

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!