how to add a new page in an excel sheet and put data in it
조회 수: 23 (최근 30일)
이전 댓글 표시
Hello, I want to select two specific lines from an excel sheet and past then in a new page in an existing excel file but in a new page. My script is:
[Path] = OH_GetPath('ClusteringASS');
Mainfolder = Path.ASCIXLStruct;
%[status,sheets] = xlsfinfo(FileName);
[num txt raw] = xlsread([ Mainfolder filesep BBPFileName]);
Names = raw(1,:);
[token, remain] = strtok(FileName, '_');
[token2, remain] = strtok(remain, '_');
[token3, remain] = strtok(remain, '_');
CellID = [token '_' token2 '_' token3];
for line=2:1:size(raw,1)
if(size(raw{line,2},2) >= size(CellID,2))
if(1 == strcmp(CellID, raw{line,2}(1:size(CellID,2))))
Values = raw(line, :);
end
end
end
% Connect to Excel
Excel = actxserver('excel.application');
% Get Workbook object
WB = Excel.Workbooks.Open(fullfile(pwd, [FileName '.xlsx']), 0, false);
% Get Worksheets object
WS = WB.Worksheets;
% Add after the last sheet
WS.Add([], WS.Item(WS.Count));
WS.Item(WS.Count).Name = 'BBP';
% Save
WB.Save();
% Quit Excel
Excel.Quit();
xlswrite([Mainfolder filesep FileName],Names ,'BBP')
xlswrite([Mainfolder filesep FileName],Values ,'BBP')
The new page is named 'BBP' and the data are Names and Values. But it will create a new excel file with the same name and my data but not use the existing excel file
댓글 수: 0
답변 (1개)
Rutuja Shirali
2015년 9월 30일
Hi Christophe,
I tried running your code and it runs fine and creates a new excel sheet in the same workbook. I noticed in your code that while opening the Excel workbook, you open it from "pwd" please make sure when you are using "xlswrite" you are in the same directory as the workbook is or specify the entire path to the workbook (in this case pwd), else it will create a new workbook with the filename and sheetname specified and write to it.
I hope this helps!
-Rutuja
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Spreadsheets에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!