Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語
Справка Scilab >> Электронная таблица > xls_open

xls_open

открывает Excel-файл для чтения

Синтаксис

[fd,SST,Sheetnames,Sheetpos] = xls_open(file_path)

Аргументы

file_path

символьная строка: путь до Excel-файла.

fd

число: логический блок на потоке Excel.

SST

вектор всех символьных строк, которые встретились на Excel-листах.

Sheetnames

вектор строк: имена листов.

Sheetpos

вектор чисел: положение начала листов в потоке Excel.

Описание

Эта функция сначала анализирует структуру данных ole2, связанную с указанным файлом, для того, чтобы выделить поток Excel, который включён в него. После этого, поток Excel сохраняется в директории TMDIR и открывается. Логический блок fd указывает на этот временный файл. Затем читается первый лист в этом потоке для того, чтобы получить общую информацию, такую, как количество листов, имена листов Sheetnames, адреса листов в потоке Sheetpos и SST, который содержит все строки, используемые в следующих листах.

Данные fd и Sheetpos должны быть переданы в xls_read для того, чтобы прочитать данные листов.

Функция readxls может быть использована для чтения всего Excel-файла в одной функции за единственный вызов функции.

Обрабатываются только Excel-файлы BIFF8 Excel (последняя версия Excel-файлов (2003)).

Примеры

//Декодируем ole-файл, выделим и откроем поток Excel
[fd,SST,Sheetnames,Sheetpos] = xls_open('SCI/modules/spreadsheet/demos/xls/Test1.xls')

//Чтение первого листа данных
[Value,TextInd] = xls_read(fd,Sheetpos(1))

//закрываем поток электронной таблицы
mclose(fd)

Смотрите также

  • xls_read — читает листы в Excel-файле
  • readxls — читает Excel-файл

Литература

Эта функция основана на документации Microsoft по файлу ole2 (http://chicago.sourceforge.net/devel/docs/ole/) и на описании потока Excel из OpenOffice (http://sc.openoffice.org/spreadsheetfileformat.pdf).

Используемые функции

Для выделения потока электронной таблицы из ole-файла используется процедура ripole-0.1.4 (http://www.pldaniels.com/ripole).

Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 14 15:13:37 CET 2017