matlab与excel xlsread、xlswrite实用方法

 from:http://apps.hi.baidu.com/share/detail/20827715

 

excel数据读取函数:

[num, txt, raw, X] = xlsread(filename, sheet, range)

filename, sheet, range 文件名,sheet名、范围

num, txt, raw, X 输出

excel数据写入函数:

[status, message] =xlswrite(filename, M, sheet, range)

filename, M, sheet, range 文件名,数据、sheet名、范围

Examples

Example 1— Reading Numeric Data

The Microsoft Excel spreadsheet file testdata1.xls contains this data:

1    6
    2    7
    3    8
    4    9
    5   10

To read this data into MATLAB, use this command:

A = xlsread('testdata1.xls')
A =
    1    6
    2    7
    3    8
    4    9
    5   10

Example 2 — Handling Text Data

The Microsoft Excel spreadsheet file testdata2.xls contains a mix of numeric and text data:

1    6
    2    7
    3    8
    4    9
    5   text

xlsread puts a NaN in place of the text data in the result:

A = xlsread('testdata2.xls')
A =
    1    6
    2    7
    3    8
    4    9
    5   NaN

Example 3 — Selecting a Range of Data

To import only rows 4 and 5 from worksheet 1, specify the range as 'A4:B5':

A = xlsread('testdata2.xls', 1, 'A4:B5')

A =
    4    9
    5   NaN

Example 4 — Handling Files with Row or Column Headers

A Microsoft Excel spreadsheet labeled Temperatures in file tempdata.xls contains two columns of numeric data with text headers for each column:

Time  Temp
12     98
13     99
14     97

If you want to import only the numeric data, use xlsread with a single return argument. Specify the filename and sheet name as inputs.

xlsread ignores any leading row or column of text in the numeric result.

ndata = xlsread('tempdata.xls', 'Temperatures')

ndata =
    12    98
    13    99
    14    97

To import both the numeric data and the text data, specify two return values for xlsread:

[ndata, headertext] = xlsread('tempdata.xls', 'Temperatures')

ndata =
    12    98
    13    99
    14    97

headertext =
    'Time'    'Temp'
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Examples

Example 1 — Writing Numeric Data to the Default Worksheet

Write a 7-element vector to Microsoft Excel file testdata.xls. By default, xlswrite writes the data to cells A1 through G1 in the first worksheet in the file:
xlswrite('testdata.xls', [12.7 5.02 -98 63.9 0 -.2 56])

Example 2 — Writing Mixed Data to a Specific Worksheet

This example writes the following mixed text and numeric data to the file tempdata.xls:

d = {'Time', 'Temp'; 12 98; 13 99; 14 97};

Call xlswrite, specifying the worksheet labeled Temperatures, and the region within the worksheet to write the data to. xlswrite writes the 4-by-2 matrix to the rectangular region that starts at cell E1 in its upper left corner:

s = xlswrite('tempdata.xls', d, 'Temperatures', 'E1')
s =
    1

The output status s shows that the write operation succeeded. The data appears as shown here in the output file:

Time   Temp
  12     98
  13     99
  14     97

Example 3 — Appending a New Worksheet to the File

Now write the same data to a worksheet that doesn’t yet exist in tempdata.xls. In this case, xlswrite appends a new sheet to the workbook, calling it by the name you supplied in the sheets input argument, 'NewTemp'. xlswrite displays a warning indicating that it has added a new worksheet to the file:

xlswrite('tempdata.xls', d, 'NewTemp', 'E1')
Warning: Added specified worksheet.

If you don’t want to see these warnings, you can turn them off with this command:

warning off MATLAB:xlswrite:AddSheet

Now try the write command again, this time creating another new worksheet, NewTemp2. Although the message does not appear this time, you can still retrieve it and its identifier from the second output argument, msg:

[stat msg] = xlswrite('tempdata.xls', d, 'NewTemp2', 'E1');

msg
msg =
       message: 'Added specified worksheet.'
    identifier: 'MATLAB:xlswrite:AddSheet'
posted @ 2011-12-08 20:37  wdliming  阅读(903)  评论(0编辑  收藏  举报