最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

2020-12-03 MATLAB App Designer—將table數(shù)據(jù)導(dǎo)出到Excel文件

2020-12-07 02:42 作者:-何其-  | 我要投稿

背景

存在一個(gè)table類型的數(shù)據(jù),需要導(dǎo)入到excel文件中

編寫目的

(1)如果指定excel不存在,則新建并寫入數(shù)據(jù)

(2)如果excel存在,指定工作簿不存在,則指定工作簿寫入已存在的excel文件

(3)如果excel文字,指定工作簿也存在,則先刪除存在的指定工作簿然后在新建并寫入指定工作簿對(duì)應(yīng)的數(shù)據(jù)

編寫的函數(shù)

?function [ Message ] = ifun_exportTableData2Excel (Path , FileName ,SheetName, TableData ) % 將數(shù)據(jù)保存到EXCEL

? ? ? ? ? ? % Path? ? ? ? ?% 生成的 EXCEL 文件和路徑名? ? ? % char 形式

? ? ? ? ? ? % FileName? ? ?% 生成的 EXCEL 文件和路徑名? ? ? % char 形式

? ? ? ? ? ? % SheetName? ? % 工作簿 名稱? ? ? ? ? ? ? ? ? ?% char 形式

? ? ? ? ? ? % TableData? ? % table 數(shù)據(jù)

? ? ? ? ? ? % Design By 何?其

? ? ? ? ? ? try % # 保存路徑

? ? ? ? ? ? ? ? if exist( Path , 'dir' ) ~= 7;mkdir( Path ); end? ? ? ?% 生成保存路徑

? ? ? ? ? ? ? ? AddressFile = fullfile( Path , FileName );

? ? ? ? ? ? ? ? if ~exist( AddressFile ,'file') % # 如果excel文件不存在則生成空白excel

? ? ? ? ? ? ? ? ? ? xlswrite(AddressFile,[' ']);

? ? ? ? ? ? ? ? end

? ? ? ? ? ? ? ? try deleteSheet( AddressFile,SheetName); catch;end?? ?% # 刪除既有工作簿

? ? ? ? ? ? ? ? writetable( TableData , AddressFile ,'Sheet', SheetName, 'WriteVariableNames', true);?Message = 1;?%?# 生成新的工作簿表

? ? ? ? ? ? catch;Message = 0;

? ? ? ? ? ? end

? ? ? ? end

該函數(shù)需要調(diào)用函數(shù)deleteSheet,從ilovematlab論壇找到(具體來(lái)源忘記了)

function deleteSheet(file,SheetName)

Excel = actxserver('Excel.Application');?% 打開Excel作為COM自動(dòng)化服務(wù)器

set(Excel, 'Visible',0);% 使應(yīng)用程序不可見

set(Excel,'DisplayAlerts',0);% 使Excel不顯示警報(bào)

Workbooks = Excel.Workbooks;% 掌握Excel的 handle

[~, sheet_names] = xlsfinfo(file);% # 只有一個(gè)工作簿

if length( sheet_names ) == 1% 工作簿只有一個(gè)的時(shí)候再新建一個(gè)

? ? Workbook=Workbooks.Open(file);% 打開Excel工作簿并激活它

? ??Excel.ActiveWorkBook.Sheets.Add([]);% 新增一個(gè)

? ? Workbook.Save;?% 現(xiàn)在保存工作簿

? ? Workbooks.Close;% 關(guān)閉工作簿

end

if length( sheet_names ) == 1;[~, sheet_names] = xlsfinfo(file);end% # 兩個(gè)以上刪除一個(gè)% 重新讀取工作簿名

Workbook=Workbooks.Open(file);% 打開Excel工作簿并激活它

Sheets = Excel.ActiveWorkBook.Sheets;% 獲取活動(dòng)工作簿中的工作表

Idx = ismember( sheet_names, SheetName );% 查找特定工作表 SheetName 并根據(jù)用戶輸入刪除它們

[ MaxValue , Id ] = max( Idx );

if MaxValue == 1

? ? current_sheet = get(Sheets, 'Item', Id );?invoke(current_sheet, 'Delete')? ? ? ?% 已刪除既有 SheetName

end

Workbook.Save;% 現(xiàn)在保存工作簿

Workbooks.Close;% 關(guān)閉工作簿

invoke(Excel, 'Quit');% # 退出服務(wù)器% 退出Excel

delete(Excel);% 刪除 ActiveX Object 的 handle

end

函數(shù)應(yīng)用說(shuō)明

調(diào)用的函數(shù)deleteSheet來(lái)源確實(shí)是忘記了


2020-12-03 MATLAB App Designer—將table數(shù)據(jù)導(dǎo)出到Excel文件的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
延庆县| 蓬安县| 周至县| 白玉县| 子洲县| 科技| 澎湖县| 广灵县| 平遥县| 清徐县| 晋中市| 石家庄市| 琼海市| 新绛县| 叙永县| 安化县| 南陵县| 房产| 定边县| 孝感市| 佳木斯市| 永春县| 鲁山县| 乌拉特中旗| 江永县| 沭阳县| 镇安县| 阳泉市| 厦门市| 通许县| 静宁县| 安丘市| 翁源县| 芒康县| 苏尼特左旗| 宜城市| 岳阳县| 永福县| 灵山县| 乳山市| 离岛区|