5

Excelファイルに書き込まれた行数を取得するMatlabのコマンドはありますか?まず、最初の行を埋めます。次に、Excelファイルに別の行を追加します。これが私のExcelファイルです: ここに画像の説明を入力してください

私は試した:

e = actxserver ('Excel.Application');
filename = fullfile(pwd,'example2.xlsx');
ewb = e.Workbooks.Open(filename);
esh = ewb.ActiveSheet;

sheetObj = e.Worksheets.get('Item', 'Sheet1');
num_rows = sheetObj.Range('A1').End('xlDown').Row

ただし、1ではなくnum_rows = 1048576です。助けてください、ありがとうございます。

4

2 に答える 2

4

ファイルが空の場合、または1行のみにデータが含まれている場合は.End('xlDown').Row; 、シートの一番下に移動します(1048576Excel 2007以降のシートの行数です)。

最初にセルA2が空かどうかをテストし、空の場合は戻り0ます。

またはUpシートの下から使用します

num_rows = sheetObj.Cells(sheetObj.Rows.Count, 1).End('xlUp').Row 

注:Matlabの構文がわからないため、調整が必要になる場合があります

于 2012-04-14T23:27:02.203 に答える
2

MATLABのxlsread関数を使用して、スプレッドシートを読み取ることができます。これにより、次のフィールドが取得されます。

[numbers strings misc] = xlsread('myfile.xlsx');

またはをsizeチェックすると、次のようになります。stringsmisc

[rows columns] = size(strings);

これをテストして、私は得ましrows = 1columns = 10(スプレッドシートの「A」以外に何もなかったと仮定します)。

于 2012-09-06T21:40:24.920 に答える