53 #ifndef DOXYGEN_SHOULD_SKIP_THIS
55 #define FREEXL_DECLARE __declspec(dllexport)
57 #define FREEXL_DECLARE extern
62 #ifndef DOXYGEN_SHOULD_SKIP_THIS
73 #define FREEXL_UNKNOWN 0
77 #define FREEXL_CFBF_VER_3 3
79 #define FREEXL_CFBF_VER_4 4
82 #define FREEXL_CFBF_SECTOR_512 512
84 #define FREEXL_CFBF_SECTOR_4096 4096
88 #define FREEXL_BIFF_VER_2 2
90 #define FREEXL_BIFF_VER_3 3
92 #define FREEXL_BIFF_VER_4 4
94 #define FREEXL_BIFF_VER_5 5
96 #define FREEXL_BIFF_VER_8 8
100 #define FREEXL_BIFF_MAX_RECSZ_2080 2080
102 #define FREEXL_BIFF_MAX_RECSZ_8224 8224
106 #define FREEXL_BIFF_DATEMODE_1900 1900
108 #define FREEXL_BIFF_DATEMODE_1904 1904
112 #define FREEXL_BIFF_OBFUSCATED 3003
114 #define FREEXL_BIFF_PLAIN 3004
118 #define FREEXL_BIFF_ASCII 0x016F
120 #define FREEXL_BIFF_CP437 0x01B5
122 #define FREEXL_BIFF_CP720 0x02D0
124 #define FREEXL_BIFF_CP737 0x02E1
126 #define FREEXL_BIFF_CP775 0x0307
128 #define FREEXL_BIFF_CP850 0x0352
130 #define FREEXL_BIFF_CP852 0x0354
132 #define FREEXL_BIFF_CP855 0x0357
134 #define FREEXL_BIFF_CP857 0x0359
136 #define FREEXL_BIFF_CP858 0x035A
138 #define FREEXL_BIFF_CP860 0x035C
140 #define FREEXL_BIFF_CP861 0x035D
142 #define FREEXL_BIFF_CP862 0x035E
144 #define FREEXL_BIFF_CP863 0x035F
146 #define FREEXL_BIFF_CP864 0x0360
148 #define FREEXL_BIFF_CP865 0x0361
150 #define FREEXL_BIFF_CP866 0x0362
152 #define FREEXL_BIFF_CP869 0x0365
154 #define FREEXL_BIFF_CP874 0x036A
156 #define FREEXL_BIFF_CP932 0x03A4
158 #define FREEXL_BIFF_CP936 0x03A8
160 #define FREEXL_BIFF_CP949 0x03B5
162 #define FREEXL_BIFF_CP950 0x03B6
164 #define FREEXL_BIFF_UTF16LE 0x04B0
166 #define FREEXL_BIFF_CP1250 0x04E2
168 #define FREEXL_BIFF_CP1251 0x04E3
170 #define FREEXL_BIFF_CP1252 0x04E4
172 #define FREEXL_BIFF_CP1253 0x04E5
174 #define FREEXL_BIFF_CP1254 0x04E6
176 #define FREEXL_BIFF_CP1255 0x04E7
178 #define FREEXL_BIFF_CP1256 0x04E8
180 #define FREEXL_BIFF_CP1257 0x04E9
182 #define FREEXL_BIFF_CP1258 0x04EA
184 #define FREEXL_BIFF_CP1361 0x0551
186 #define FREEXL_BIFF_MACROMAN 0x2710
190 #define FREEXL_CELL_NULL 101
192 #define FREEXL_CELL_INT 102
194 #define FREEXL_CELL_DOUBLE 103
196 #define FREEXL_CELL_TEXT 104
198 #define FREEXL_CELL_SST_TEXT 105
200 #define FREEXL_CELL_DATE 106
202 #define FREEXL_CELL_DATETIME 107
204 #define FREEXL_CELL_TIME 108
208 #define FREEXL_CFBF_VERSION 32001
210 #define FREEXL_CFBF_SECTOR_SIZE 32002
212 #define FREEXL_CFBF_FAT_COUNT 32003
214 #define FREEXL_BIFF_VERSION 32005
216 #define FREEXL_BIFF_MAX_RECSIZE 32006
218 #define FREEXL_BIFF_DATEMODE 32007
220 #define FREEXL_BIFF_PASSWORD 32008
222 #define FREEXL_BIFF_CODEPAGE 32009
224 #define FREEXL_BIFF_SHEET_COUNT 32010
226 #define FREEXL_BIFF_STRING_COUNT 32011
228 #define FREEXL_BIFF_FORMAT_COUNT 32012
230 #define FREEXL_BIFF_XF_COUNT 32013
234 #define FREEXL_FILE_NOT_FOUND -1
236 #define FREEXL_NULL_HANDLE -2
237 #define FREEXL_INVALID_HANDLE -3
238 #define FREEXL_INSUFFICIENT_MEMORY -4
240 #define FREEXL_NULL_ARGUMENT -5
241 #define FREEXL_INVALID_INFO_ARG -6
242 #define FREEXL_INVALID_CFBF_HEADER -7
244 #define FREEXL_CFBF_READ_ERROR -8
246 #define FREEXL_CFBF_SEEK_ERROR -9
248 #define FREEXL_CFBF_INVALID_SIGNATURE -10
252 #define FREEXL_CFBF_INVALID_SECTOR_SIZE -11
256 #define FREEXL_CFBF_EMPTY_FAT_CHAIN -12
260 #define FREEXL_CFBF_ILLEGAL_FAT_ENTRY -13
262 #define FREEXL_BIFF_INVALID_BOF -14
264 #define FREEXL_BIFF_INVALID_SST -15
266 #define FREEXL_BIFF_ILLEGAL_SST_INDEX -16
268 #define FREEXL_BIFF_WORKBOOK_NOT_FOUND -17
270 #define FREEXL_BIFF_ILLEGAL_SHEET_INDEX -18
272 #define FREEXL_BIFF_UNSELECTED_SHEET -19
277 #define FREEXL_INVALID_CHARACTER -20
280 #define FREEXL_UNSUPPORTED_CHARSET -21
282 #define FREEXL_ILLEGAL_CELL_ROW_COL -22
284 #define FREEXL_ILLEGAL_RK_VALUE -23
287 #define FREEXL_ILLEGAL_MULRK_VALUE -23
290 #define FREEXL_INVALID_MINI_STREAM -24
292 #define FREEXL_CFBF_ILLEGAL_MINI_FAT_ENTRY -25
331 struct FreeXL_CellValue_str
354 const char *text_value;
383 FREEXL_DECLARE
int freexl_open (
const char *path,
const void **xls_handle);
403 const void **xls_handle);
415 FREEXL_DECLARE
int freexl_close (
const void *xls_handle);
466 unsigned short sheet_index,
467 const char **
string);
518 unsigned short *columns);
535 unsigned short string_index,
536 const char **
string);
560 unsigned int sector_index,
561 unsigned int *next_sector_index);
575 unsigned short column,
Container for a cell value.
Definition: freexl.h:366
FREEXL_DECLARE int freexl_get_cell_value(const void *xls_handle, unsigned int row, unsigned short column, FreeXL_CellValue *value)
Retrieve individual cell values from the currently active worksheet.
FREEXL_DECLARE int freexl_get_SST_string(const void *xls_handle, unsigned short string_index, const char **string)
Retrieve string entries from SST.
FREEXL_DECLARE int freexl_worksheet_dimensions(const void *xls_handle, unsigned int *rows, unsigned short *columns)
Query worksheet dimensions.
FREEXL_DECLARE int freexl_select_active_worksheet(const void *xls_handle, unsigned short sheet_index)
Set the currently active worksheets.
FREEXL_DECLARE int freexl_open_info(const char *path, const void **xls_handle)
Open the .xls file for metadata query only.
FREEXL_DECLARE int freexl_open(const char *path, const void **xls_handle)
Open the .xls file, preparing for future functions.
FREEXL_DECLARE int freexl_get_worksheet_name(const void *xls_handle, unsigned short sheet_index, const char **string)
Query worksheet name.
FREEXL_DECLARE int freexl_get_info(const void *xls_handle, unsigned short what, unsigned int *info)
Query general information about the Workbook and Worksheets.
FREEXL_DECLARE int freexl_get_FAT_entry(const void *xls_handle, unsigned int sector_index, unsigned int *next_sector_index)
Retrieve FAT entries from FAT chain.
FREEXL_DECLARE int freexl_close(const void *xls_handle)
Close the .xls file and releasing any allocated resource.
union FreeXL_CellValue_str::@0 value
The value of the data stored in the cell.
FREEXL_DECLARE int freexl_get_active_worksheet(const void *xls_handle, unsigned short *sheet_index)
Query the currently active worksheet index.