Типы данных, используемые в Excel

Область применения: Excel 2013 | Office 2013 | Visual Studio

Microsoft Excel обменивается несколькими типами ANSI C/C++, а также некоторыми структурами данных, зависящими от Excel. Они упоминаются здесь, чтобы предоставить контекст для других разделов, и они подробно рассматриваются в разделе xlfRegister (форма 1).

Типы ANSI C/C++

Числа

Во всех версиях Excel:

  • double (8-байтовые);

  • [signed] short [int] (используется для значений Boolean и целых чисел);

  • unsigned short [int];

  • [signed long] int.

Строки

Во всех версиях Excel:

  • [signed] char * — строка байтов длиной до 255 символов, оканчивающаяся нулем;

  • unsigned char * — строка байтов с ограничением длины, включающая до 255 символов.

Начиная с Excel 2007:

  • unsigned short * — строки Юникода длиной до 32 767 символов, которые могут оканчиваться нулем или иметь ограничение длины.

Все числа листа в Excel сохраняются в двоичном формате, чтобы не нужно было объявлять функции надстройки (что на самом деле представляет собой небольшую нагрузку преобразования) как заменяющиеся целочисленные типы в Excel.

Если вы используете целочисленные типы, Excel проверяет, что входные данные находятся в пределах этого типа, и они завершаются ошибкой с #NUM!, если они находятся за пределами этих типов. Исключением является регистрация функции для получения логического аргумента , реализованного с помощью short int. В этом случае все входные данные, отличные от нуля, преобразуются в значение 1, а ноль передается прямо.

Структуры данных, предназначенные специально для Excel

Во всех версиях Excel:

  • FP — структура двухмерного массива с плавающей запятой, поддерживающая до 65 356 строк при максимально возможном количестве столбцов в текущей версии Excel.

  • XLOPER — структура многотипных данных, представляющая все типы данных листов (в том числе сообщения об ошибках), целые числа, ссылки на диапазон, типы управления потоком для листов с макросами XLM и тип данных внутреннего хранилища двоичных данных.

    Примечание.

    Строки представлены в виде строк байтов с ограничением длины (до 255 символов).

Начиная с Excel 2007:

  • FP12 — двумерная структура массива с плавающей запятой, поддерживающая все строки и столбцы, начиная с Excel 2007.

  • XLOPER12 — структура многотипных данных, представляющая все типы данных листов (в том числе сообщения об ошибках), целые числа, ссылки на диапазон, типы управления потоком для листов с макросами XLM и тип данных внутреннего хранилища двоичных данных.

    Примечание.

    Строки представлены в виде строк Юникода с ограничением длины до 32 767 символов.

Коды для типов регистрационных данных

������� XLL �������������� � ������� ������� C API xlfRegister, ������� � �������� �������� ��������� ��������� ������ ����, ���������� ���� ������������ ������ � ����������. ��� ������ ����� �������� �������� ��� Excel, ������������, �������� �� ������� ����������, ���������������� (������� � Excel�2007), ������������� ����� ��������, � ����� ���������� �� ��� ���������, ������� �������� �� �����.

������� ���� ������������ � ������� ����� �������� � ������ xlfRegister (����� 1). ����� ��� ��������� ���� � �������� ���������� � ��������� ����� �������. ��������, �������, ����������� ������ ������� � ������������ ����� (������� � Excel�2007) ����� ������� ��� �������, ������� ��������� �������� ���� C%.

Тип данных Передаваемый по значению Передаваемый по ссылке (указателю) Комментарии
Boolean
A
L
short (0=false или 1=true)
double
B
E
char *
C, F
Строка байтов ASCII, оканчивающаяся нулем
unsigned char *
D, G
Строка байтов ASCII с ограничением длины
unsigned short * (начиная с Excel 2007)
C%, F%
Строка Юникода с расширенными символами, оканчивающаяся нулем
unsigned short * (начиная с Excel 2007)
D%, G%
Строка символов в многобайтовой кодировке Юникода с ограничением длины
unsigned short [int]
H
WORD
[signed] short [int]
I
M
16-разрядный
[signed long] int
J
N
32-разрядный
Array
O
Передается по ссылке в виде трех аргументов:
1. short int *rows
2. short int *columns
3. double *array
Array
(начиная с Excel 2007)
O%
Передается по ссылке в виде трех аргументов:
1. int *rows
2. int *columns
3. double *array
FP
K
Структура массива с плавающей запятой
FP12
(начиная с Excel 2007)
K%
Структура большого массива сетки с плавающей запятой
XLOPER
P
Значения и массивы листа в виде переменной
R
Значения, массивы и ссылки на диапазон
XLOPER12
(начиная с Excel 2007)
Q
Значения и массивы листа в виде переменной
U
Значения, массивы и ссылки на диапазон

���� C%, F%, D%, G%, K%, O%, QU ������� ������������ � Microsoft Office Excel 2007 � �� �������������� � ����� ������ �������. ���� ����� F, F%, GG% ������������ ��� ����������, ���������� �� �����. ����� ��������� XLOPER ��� XLOPER12 �������������� ��� ���� P ��� Q ��������������, ���������� Excel ��� ���������� ������ ��������������� ������ �� ���� ������ � ������� ��������, � ������ �� ��������� ����� � � �������.

Типы P и Q всегда представлены в функции в виде следующих типов: xltypeNum, xltypeStr, xltypeBool, xltypeErr, xltypeMulti, xltypeMissing или xltypeNil, но не в виде xltypeRef или xltypeSRef, так как их всегда разыменовывают.

��� O, ������� ���������� ������������ ����� ��� ��������� � �����, ��� ������ ��� ����������� ������������� � ������������ DLL Fortran, ��� ��������� ���������� � ������� ������. �� �� ������� ��� ������������ ��� �������� ��������, ���� �� �������� �������� ��� ������������ �������� ��� ��������� �� ����� � �� ��������� ���������� � ���������, �� ������� ��������� ������. ��� O% ��������� ��� O � ���������� Excel�2007, ����� � ���� ��� ������ � ��������, ������� ���������� �������, ������� �� �������, ��� ����� Office Excel 2003.

См. также