… | |
… | |
423 | { |
423 | { |
424 | psiconv_sheet_cell_reference_t first; |
424 | psiconv_sheet_cell_reference_t first; |
425 | psiconv_sheet_cell_reference_t last; |
425 | psiconv_sheet_cell_reference_t last; |
426 | } psiconv_sheet_cell_block_t; |
426 | } psiconv_sheet_cell_block_t; |
427 | |
427 | |
|
|
428 | typedef enum psiconv_cell_type |
|
|
429 | { |
|
|
430 | psiconv_cell_blank, |
|
|
431 | psiconv_cell_int, |
|
|
432 | psiconv_cell_bool, |
|
|
433 | psiconv_cell_error, |
|
|
434 | psiconv_cell_float, |
|
|
435 | psiconv_cell_string |
|
|
436 | } psiconv_cell_type_t; |
|
|
437 | |
|
|
438 | typedef enum psiconv_sheet_errorcode |
|
|
439 | { |
|
|
440 | psiconv_sheet_error_none, |
|
|
441 | psiconv_sheet_error_null, |
|
|
442 | psiconv_sheet_error_divzero, |
|
|
443 | psiconv_sheet_error_value, |
|
|
444 | psiconv_sheet_error_reference, |
|
|
445 | psiconv_sheet_error_name, |
|
|
446 | psiconv_sheet_error_number, |
|
|
447 | psiconv_sheet_error_notavail |
|
|
448 | } psiconv_sheet_errorcode_t; |
|
|
449 | |
|
|
450 | typedef enum psiconv_numberformat |
|
|
451 | { |
|
|
452 | psiconv_numberformat_general, |
|
|
453 | psiconv_numberformat_fixeddecimal, |
|
|
454 | psiconv_numberformat_scientific, |
|
|
455 | psiconv_numberformat_currency, |
|
|
456 | psiconv_numberformat_percent, |
|
|
457 | psiconv_numberformat_triads, |
|
|
458 | psiconv_numberformat_boolean, |
|
|
459 | psiconv_numberformat_text, |
|
|
460 | psiconv_numberformat_date_ddmm, |
|
|
461 | psiconv_numberformat_date_mmdd, |
|
|
462 | psiconv_numberformat_date_ddmmyy, |
|
|
463 | psiconv_numberformat_date_mmddyy, |
|
|
464 | psiconv_numberformat_date_yymmdd, |
|
|
465 | psiconv_numberformat_date_ddmmm, |
|
|
466 | psiconv_numberformat_date_ddmmmyy, |
|
|
467 | psiconv_numberformat_date_ddmmmyyyy, |
|
|
468 | psiconv_numberformat_date_mmm, |
|
|
469 | psiconv_numberformat_date_monthname, |
|
|
470 | psiconv_numberformat_date_mmmyy, |
|
|
471 | psiconv_numberformat_date_monthnameyy, |
|
|
472 | psiconv_numberformat_date_monthnameddyyyy, |
|
|
473 | psiconv_numberformat_datetime_ddmmyyyyhhii, |
|
|
474 | psiconv_numberformat_datetime_ddmmyyyyHHii, |
|
|
475 | psiconv_numberformat_datetime_mmddyyyyhhii, |
|
|
476 | psiconv_numberformat_datetime_mmddyyyyHHii, |
|
|
477 | psiconv_numberformat_datetime_yyyymmddhhii, |
|
|
478 | psiconv_numberformat_datetime_yyyymmddHHii, |
|
|
479 | psiconv_numberformat_time_hhii, |
|
|
480 | psiconv_numberformat_time_hhiiss, |
|
|
481 | psiconv_numberformat_time_HHii, |
|
|
482 | psiconv_numberformat_time_HHiiss |
|
|
483 | } psiconv_numberformat_t; |
|
|
484 | |
|
|
485 | typedef struct psiconv_numberformat_s |
|
|
486 | { |
|
|
487 | psiconv_numberformat_t numberformat; |
|
|
488 | psiconv_u8 decimal; |
|
|
489 | } *psiconv_numberformat; |
|
|
490 | |
|
|
491 | typedef struct psiconv_sheet_cell_s |
|
|
492 | { |
|
|
493 | psiconv_u16 column; |
|
|
494 | psiconv_u16 row; |
|
|
495 | psiconv_cell_type_t type; |
|
|
496 | union { |
|
|
497 | psiconv_u32 dat_int; |
|
|
498 | double dat_float; |
|
|
499 | char *dat_string; |
|
|
500 | psiconv_bool_t dat_bool; |
|
|
501 | psiconv_sheet_errorcode_t dat_error; |
|
|
502 | } data; |
|
|
503 | psiconv_character_layout character; |
|
|
504 | psiconv_paragraph_layout paragraph; |
|
|
505 | psiconv_numberformat numberformat; |
|
|
506 | psiconv_bool_t calculated; |
|
|
507 | psiconv_u32 ref_formula; |
|
|
508 | } *psiconv_sheet_cell; |
|
|
509 | |
|
|
510 | typedef psiconv_list psiconv_sheet_cell_list; |
|
|
511 | /* Of struct psiconv_sheet_cell_s */ |
|
|
512 | |
428 | typedef struct psiconv_sheet_status_section_s |
513 | typedef struct psiconv_sheet_status_section_s |
429 | { |
514 | { |
430 | psiconv_bool_t show_graph; |
515 | psiconv_bool_t show_graph; |
431 | psiconv_u32 cursor_row; |
516 | psiconv_u32 cursor_row; |
432 | psiconv_u32 cursor_column; |
517 | psiconv_u32 cursor_column; |
… | |
… | |
454 | psiconv_formula_op_mul, |
539 | psiconv_formula_op_mul, |
455 | psiconv_formula_op_div, |
540 | psiconv_formula_op_div, |
456 | psiconv_formula_op_pow, |
541 | psiconv_formula_op_pow, |
457 | psiconv_formula_op_pos, |
542 | psiconv_formula_op_pos, |
458 | psiconv_formula_op_neg, |
543 | psiconv_formula_op_neg, |
|
|
544 | psiconv_formula_op_not, |
|
|
545 | psiconv_formula_op_and, |
|
|
546 | psiconv_formula_op_or, |
459 | psiconv_formula_op_con, |
547 | psiconv_formula_op_con, |
460 | psiconv_formula_op_bra, |
548 | psiconv_formula_op_bra, |
461 | psiconv_formula_mark_eof, |
549 | psiconv_formula_mark_eof, |
462 | psiconv_formula_dat_float, |
550 | psiconv_formula_dat_float, |
463 | psiconv_formula_dat_int, |
551 | psiconv_formula_dat_int, |
… | |
… | |
588 | psiconv_sheet_cell_block_t dat_cellblock; |
676 | psiconv_sheet_cell_block_t dat_cellblock; |
589 | psiconv_formula_list fun_operands; |
677 | psiconv_formula_list fun_operands; |
590 | } data; |
678 | } data; |
591 | } *psiconv_formula; |
679 | } *psiconv_formula; |
592 | |
680 | |
|
|
681 | typedef struct psiconv_sheet_worksheet_section_s |
|
|
682 | { |
|
|
683 | psiconv_character_layout character; |
|
|
684 | psiconv_paragraph_layout paragraph; |
|
|
685 | psiconv_numberformat numberformat; |
|
|
686 | psiconv_sheet_cell_list cells; |
|
|
687 | } *psiconv_sheet_worksheet_section; |
|
|
688 | |
593 | typedef struct psiconv_sheet_workbook_section_s |
689 | typedef struct psiconv_sheet_workbook_section_s |
594 | { |
690 | { |
595 | psiconv_formula_list formulas; |
691 | psiconv_formula_list formulas; |
|
|
692 | psiconv_sheet_worksheet_section worksheet; |
596 | } *psiconv_sheet_workbook_section; |
693 | } *psiconv_sheet_workbook_section; |
597 | |
694 | |
598 | typedef struct psiconv_sheet_f_s |
695 | typedef struct psiconv_sheet_f_s |
599 | { |
696 | { |
600 | psiconv_page_layout_section page_sec; |
697 | psiconv_page_layout_section page_sec; |
… | |
… | |
630 | #define PSICONV_ID_PAGE_LAYOUT_SECTION 0x10000105 |
727 | #define PSICONV_ID_PAGE_LAYOUT_SECTION 0x10000105 |
631 | #define PSICONV_ID_PASSWORD_SECTION 0x100000CD |
728 | #define PSICONV_ID_PASSWORD_SECTION 0x100000CD |
632 | #define PSICONV_ID_SKETCH_SECTION 0x1000007D |
729 | #define PSICONV_ID_SKETCH_SECTION 0x1000007D |
633 | #define PSICONV_ID_SHEET_STATUS_SECTION 0x1000011F |
730 | #define PSICONV_ID_SHEET_STATUS_SECTION 0x1000011F |
634 | #define PSICONV_ID_SHEET_WORKBOOK_SECTION 0x1000011D |
731 | #define PSICONV_ID_SHEET_WORKBOOK_SECTION 0x1000011D |
|
|
732 | #define PSICONV_ID_SHEET_GRAPH_SECTION 0x10000121 |
635 | |
733 | |
636 | /* Other ids */ |
734 | /* Other ids */ |
637 | #define PSICONV_ID_PAGE_DIMENSIONS1 0x100000fd |
735 | #define PSICONV_ID_PAGE_DIMENSIONS1 0x100000fd |
638 | #define PSICONV_ID_PAGE_DIMENSIONS2 0x1000010e |
736 | #define PSICONV_ID_PAGE_DIMENSIONS2 0x1000010e |
639 | #define PSICONV_ID_TEXTED_BODY 0x1000005c |
737 | #define PSICONV_ID_TEXTED_BODY 0x1000005c |
… | |
… | |
679 | extern void psiconv_free_formula(psiconv_formula formula); |
777 | extern void psiconv_free_formula(psiconv_formula formula); |
680 | extern void psiconv_free_formula_list(psiconv_formula_list list); |
778 | extern void psiconv_free_formula_list(psiconv_formula_list list); |
681 | extern void psiconv_free_sheet_status_section |
779 | extern void psiconv_free_sheet_status_section |
682 | (psiconv_sheet_status_section section); |
780 | (psiconv_sheet_status_section section); |
683 | extern void psiconv_free_sheet_f(psiconv_sheet_f file); |
781 | extern void psiconv_free_sheet_f(psiconv_sheet_f file); |
|
|
782 | extern void psiconv_free_sheet_cell(psiconv_sheet_cell cell); |
|
|
783 | extern void psiconv_free_sheet_cell_list(psiconv_sheet_cell_list list); |
|
|
784 | extern void psiconv_free_numberformat(psiconv_numberformat numberformat); |
684 | extern void psiconv_free_header_section(psiconv_header_section header); |
785 | extern void psiconv_free_header_section(psiconv_header_section header); |
685 | extern void psiconv_free_section_table_entry(psiconv_section_table_entry entry); |
786 | extern void psiconv_free_section_table_entry(psiconv_section_table_entry entry); |
686 | extern void psiconv_free_section_table_section |
787 | extern void psiconv_free_section_table_section |
687 | (psiconv_section_table_section section); |
788 | (psiconv_section_table_section section); |
688 | extern void psiconv_free_application_id_section |
789 | extern void psiconv_free_application_id_section |