Так вот я и интересуюсь - сделано ли это на враппере, который продают, причём не задёшево. Хотя у меня и Экселя-то нет...
Экспорт в Microsoft Excel (много)
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Дед Пахом
- Старичок
- Сообщения: 3133
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 10 раз
- Поблагодарили: 28 раз
- Контактная информация:
Экспорт в Microsoft Excel (много)
С уважением, ДП
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Экспорт в Microsoft Excel (много)
Нашел проект для сборки под Windows
Собрал. Работает.
Примеров куча тут
Пример подключения к Clarion
Собрал. Работает.
Примеров куча тут
Пример подключения к Clarion
Код: Выделить всё
PROGRAM
INCLUDE('Cstr.inc')
MAP
MODULE('LibXlsxWriter.dll')
new_workbook(*CSTRING FileName),LONG,RAW,C
workbook_close(LONG wordbook),PROC,LONG,RAW,C
workbook_add_worksheet(LONG wordbook, *CSTRING sheetname),LONG,RAW,C
worksheet_write_string(LONG worksheet, LONG row_num, LONG col_numm, *CSTRING text, LONG format),PROC,LONG,RAW,C
END
END
lwordbook LONG
lworksheet LONG
lformat LONG
lrow LONG
lcol LONG
cFileName CSTRING(255)
cSheetName CSTRING(255)
cText CSTRING(255)
cs Cstr
CODE
cFileName = 'result.xlsx'
lwordbook = new_workbook(cFileName)
cSheetName = 'Example'
lworksheet = workbook_add_worksheet(lwordbook, cSheetName)
cText = 'Write test string from Clarion'
worksheet_write_string(lworksheet, 0, 0, cText, ADDRESS(lformat))
cs.set('Пример строки из Clarion')
cs.ToUTF8()
cText = cs.cstr()
worksheet_write_string(lworksheet, 1, 0, cText, ADDRESS(lformat))
workbook_close(lwordbook)
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Экспорт в Microsoft Excel (много)
2 миллиона ячеек заполняется на моем компе за 14 секунд. Без форматирования конечно же.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Экспорт в Microsoft Excel (много)
А на Python, интересно, сколько займёт. Из Clarion вполне вызываемо, и выглядит попроще. Завтра развлекусь...
- ingasoftplus
- Ветеран
- Сообщения: 425
- Зарегистрирован: 26 Декабрь 2006, 17:07
- Откуда: Оттуда :)
- Благодарил (а): 90 раз
- Поблагодарили: 5 раз
Экспорт в Microsoft Excel (много)
вот ответ:
Currently there is no demo. I will create one and put it on my website. I should be able to post it by Thursday.
The documentation is here: https://libxlsxwriter.github.io/
The wrapper is for the open source LibXlsxWriter library. I have written a bit of C code to better interface with Clarion.
Экспорт в Microsoft Excel (много)
Admin, твоя сборка - 334 Kb, 314 функций.
Cобрал библиотеку с помощью MinGW. Объем libxlsxwriter.dll получился 1 415 Kb, 356 функций. Почему такая дискриминация?
Cобрал библиотеку с помощью MinGW. Объем libxlsxwriter.dll получился 1 415 Kb, 356 функций. Почему такая дискриминация?
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1376
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
Экспорт в Microsoft Excel (много)
Ребят, вы что?
https://forum.clarionlife.net:443/viewt ... f=8&t=3830
Полгода назад все это я уже делал
P.S. Для уменьшения размера после MinGW надо использовать strip.exe
https://forum.clarionlife.net:443/viewt ... f=8&t=3830
Полгода назад все это я уже делал
P.S. Для уменьшения размера после MinGW надо использовать strip.exe
- Дед Пахом
- Старичок
- Сообщения: 3133
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 10 раз
- Поблагодарили: 28 раз
- Контактная информация:
Экспорт в Microsoft Excel (много)
Так и я о том! За что он деньги хочет? Есть ли шаблоны для типичных задач?
С уважением, ДП
- Игорь Столяров
- Ветеран движения
- Сообщения: 7373
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Экспорт в Microsoft Excel (много)
Человек же написал: I have written a bit of C code ....
Судя по цене - тяжело далось ...
Судя по цене - тяжело далось ...
За теми кто отстал - не возвращаться. (С) Кодекс
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1376
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
Экспорт в Microsoft Excel (много)
Ну это делается элементарно - берется (любой имеющийся по вкусу) шаблон для выгрузки по OLE, вызовы OLE заменяются вызовами библиотекм. Себе я примерно так и встроил, там правда три варианта на выбор - OLE (ABExcel), BIFF8 (Taboga), XLSX (libxlsxwriter). Кода при наличии обертки добавлется очень мало, буквально строчек 20-30
- Дед Пахом
- Старичок
- Сообщения: 3133
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 10 раз
- Поблагодарили: 28 раз
- Контактная информация:
Экспорт в Microsoft Excel (много)
Это всё несерьёзно. Я хочу иметь кнопку на окне, по которой выгружу броуз в Эксель, со всем форматированием, шириной колонок, цветом и т.д. Или отчёт - с шапкой, деталями...
С уважением, ДП
-
- ✯ Ветеран ✯
- Сообщения: 1014
- Зарегистрирован: 08 Июль 2005, 6:48
- Откуда: Россия
- Поблагодарили: 1 раз
Экспорт в Microsoft Excel (много)
смотрел в праздники на питоне библиотеку xlsxwriter, примеры копипастом с сайта..., запускаются - все "скучно", штатно, с первой попытки...
впрочем, так же как например, с openpyxl, которую "покрутил" до этого...
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Экспорт в Microsoft Excel (много)
Все всё уже делали, у всех запускается, всем скучно.
Что же мы тогда тут эту тему, трем и трем!?
Что же мы тогда тут эту тему, трем и трем!?
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Admin
- Администратор
- Сообщения: 3959
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 25 раз
- Поблагодарили: 22 раза
- Контактная информация:
Экспорт в Microsoft Excel (много)
В проекте что я компилировал описано какие функции экспортировать (XlsxWriter.def)
Код: Выделить всё
EXPORTS
chart_add_series
chart_axis_major_gridlines_set_line
chart_axis_major_gridlines_set_visible
chart_axis_minor_gridlines_set_line
chart_axis_minor_gridlines_set_visible
chart_axis_off
chart_axis_set_crossing
chart_axis_set_crossing_max
chart_axis_set_display_units
chart_axis_set_display_units_visible
chart_axis_set_fill
chart_axis_set_interval_tick
chart_axis_set_interval_unit
chart_axis_set_label_position
chart_axis_set_line
chart_axis_set_log_base
chart_axis_set_major_tick_mark
chart_axis_set_major_unit
chart_axis_set_max
chart_axis_set_min
chart_axis_set_minor_tick_mark
chart_axis_set_minor_unit
chart_axis_set_name
chart_axis_set_name_font
chart_axis_set_name_range
chart_axis_set_num_font
chart_axis_set_num_format
chart_axis_set_pattern
chart_axis_set_position
chart_axis_set_reverse
chart_chartarea_set_fill
chart_chartarea_set_line
chart_chartarea_set_pattern
chart_legend_delete_series
chart_legend_set_font
chart_legend_set_position
chart_plotarea_set_fill
chart_plotarea_set_line
chart_plotarea_set_pattern
chart_series_set_categories
chart_series_set_error_bars
chart_series_set_error_bars_direction
chart_series_set_error_bars_endcap
chart_series_set_error_bars_line
chart_series_set_fill
chart_series_set_invert_if_negative
chart_series_set_labels
chart_series_set_labels_font
chart_series_set_labels_leader_line
chart_series_set_labels_legend
chart_series_set_labels_num_format
chart_series_set_labels_options
chart_series_set_labels_percentage
chart_series_set_labels_position
chart_series_set_labels_separator
chart_series_set_line
chart_series_set_marker_fill
chart_series_set_marker_line
chart_series_set_marker_pattern
chart_series_set_marker_size
chart_series_set_marker_type
chart_series_set_name
chart_series_set_name_range
chart_series_set_pattern
chart_series_set_points
chart_series_set_smooth
chart_series_set_trendline
chart_series_set_trendline_equation
chart_series_set_trendline_forecast
chart_series_set_trendline_intercept
chart_series_set_trendline_line
chart_series_set_trendline_name
chart_series_set_trendline_r_squared
chart_series_set_values
chart_set_drop_lines
chart_set_high_low_lines
chart_set_hole_size
chart_set_rotation
chart_set_series_gap
chart_set_series_overlap
chart_set_style
chart_set_table
chart_set_table_font
chart_set_table_grid
chart_set_up_down_bars
chart_set_up_down_bars_format
chart_show_blanks_as
chart_show_hidden_data
chart_title_off
chart_title_set_name
chart_title_set_name_font
chart_title_set_name_range
format_set_align
format_set_bg_color
format_set_bold
format_set_border
format_set_border_color
format_set_bottom
format_set_bottom_color
format_set_diag_border
format_set_diag_color
format_set_diag_type
format_set_fg_color
format_set_font_charset
format_set_font_color
format_set_font_condense
format_set_font_extend
format_set_font_family
format_set_font_name
format_set_font_outline
format_set_font_scheme
format_set_font_script
format_set_font_shadow
format_set_font_size
format_set_font_strikeout
format_set_hidden
format_set_indent
format_set_italic
format_set_left
format_set_left_color
format_set_num_format
format_set_num_format_index
format_set_pattern
format_set_reading_order
format_set_right
format_set_right_color
format_set_rotation
format_set_shrink
format_set_text_justlast
format_set_text_wrap
format_set_theme
format_set_top
format_set_top_color
format_set_underline
format_set_unlocked
format_set_valign
lxw_add_document_relationship
lxw_add_drawing_object
lxw_add_ms_package_relationship
lxw_add_package_relationship
lxw_add_worksheet_relationship
lxw_app_add_heading_pair
lxw_app_add_part_name
lxw_app_assemble_xml_file
lxw_app_free
lxw_app_new
lxw_basename
lxw_chart_add_data_cache
lxw_chart_assemble_xml_file
lxw_chart_free
lxw_chart_new
lxw_col_to_name
lxw_content_types_assemble_xml_file
lxw_content_types_free
lxw_content_types_new
lxw_core_assemble_xml_file
lxw_core_free
lxw_core_new
lxw_create_package
lxw_ct_add_calc_chain
lxw_ct_add_chart_name
lxw_ct_add_custom_properties
lxw_ct_add_default
lxw_ct_add_drawing_name
lxw_ct_add_override
lxw_ct_add_shared_strings
lxw_ct_add_worksheet_name
lxw_custom_assemble_xml_file
lxw_custom_free
lxw_custom_new
lxw_datetime_to_excel_date
lxw_drawing_assemble_xml_file
lxw_drawing_free
lxw_drawing_new
lxw_escape_control_characters
lxw_escape_data
lxw_format_check_color
lxw_format_free
lxw_format_get_border_key
lxw_format_get_fill_key
lxw_format_get_font_key
lxw_format_get_xf_index
lxw_format_new
lxw_free_drawing_object
lxw_free_relationships
lxw_get_sst_index
lxw_hash_free
lxw_hash_key_exists
lxw_hash_new
lxw_insert_hash_element
lxw_name_to_col
lxw_name_to_col_2
lxw_name_to_row
lxw_name_to_row_2
lxw_new_attribute_dbl
lxw_new_attribute_int
lxw_new_attribute_str
lxw_packager_free
lxw_packager_new
lxw_quote_sheetname
lxw_relationships_assemble_xml_file
lxw_relationships_new
lxw_rowcol_to_cell
lxw_rowcol_to_cell_abs
lxw_rowcol_to_formula_abs
lxw_rowcol_to_range
lxw_rowcol_to_range_abs
lxw_sst_assemble_xml_file
lxw_sst_free
lxw_sst_new
lxw_str_tolower
lxw_strdup
lxw_strerror
lxw_styles_assemble_xml_file
lxw_styles_free
lxw_styles_new
lxw_theme_assemble_xml_file
lxw_theme_free
lxw_theme_new
lxw_tmpfile
lxw_utf8_strlen
lxw_workbook_assemble_xml_file
lxw_workbook_free
lxw_workbook_set_default_xf_indices
lxw_worksheet_assemble_xml_file
lxw_worksheet_find_cell
lxw_worksheet_find_row
lxw_worksheet_free
lxw_worksheet_new
lxw_worksheet_prepare_chart
lxw_worksheet_prepare_image
lxw_worksheet_write_single_row
lxw_xml_data_element
lxw_xml_declaration
lxw_xml_empty_tag
lxw_xml_empty_tag_unencoded
lxw_xml_end_tag
lxw_xml_start_tag
lxw_xml_start_tag_unencoded
new_workbook
new_workbook_opt
workbook_add_chart
workbook_add_format
workbook_add_worksheet
workbook_close
workbook_define_name
workbook_get_worksheet_by_name
workbook_new
workbook_new_opt
workbook_set_custom_property_boolean
workbook_set_custom_property_datetime
workbook_set_custom_property_integer
workbook_set_custom_property_number
workbook_set_custom_property_string
workbook_set_properties
workbook_validate_worksheet_name
worksheet_activate
worksheet_autofilter
worksheet_center_horizontally
worksheet_center_vertically
worksheet_fit_to_pages
worksheet_freeze_panes
worksheet_freeze_panes_opt
worksheet_gridlines
worksheet_hide
worksheet_hide_zero
worksheet_insert_chart
worksheet_insert_chart_opt
worksheet_insert_image
worksheet_insert_image_opt
worksheet_merge_range
worksheet_print_across
worksheet_print_area
worksheet_print_row_col_headers
worksheet_protect
worksheet_repeat_columns
worksheet_repeat_rows
worksheet_right_to_left
worksheet_select
worksheet_set_column
worksheet_set_column_opt
worksheet_set_default_row
worksheet_set_first_sheet
worksheet_set_footer
worksheet_set_footer_opt
worksheet_set_h_pagebreaks
worksheet_set_header
worksheet_set_header_opt
worksheet_set_landscape
worksheet_set_margins
worksheet_set_page_view
worksheet_set_paper
worksheet_set_portrait
worksheet_set_print_scale
worksheet_set_row
worksheet_set_row_opt
worksheet_set_selection
worksheet_set_start_page
worksheet_set_tab_color
worksheet_set_v_pagebreaks
worksheet_set_zoom
worksheet_split_panes
worksheet_split_panes_opt
worksheet_write_array_formula
worksheet_write_array_formula_num
worksheet_write_blank
worksheet_write_boolean
worksheet_write_datetime
worksheet_write_formula
worksheet_write_formula_num
worksheet_write_number
worksheet_write_string
worksheet_write_url
worksheet_write_url_opt
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
-
- ✯ Ветеран ✯
- Сообщения: 1014
- Зарегистрирован: 08 Июль 2005, 6:48
- Откуда: Россия
- Поблагодарили: 1 раз
Экспорт в Microsoft Excel (много)
про питон: ..., ставим, запускаем и о ужас - там просто все работает, как в тестовых примерах...
про "трём" : у всех всё видно немного не так - клиенты/требования/запросы/условия использования софта/железо/... прочее..., лично я - где возможно - исп. dexcel(+доп. настройки стилей и проч. если надо, можно через щле с красивостями - для гендира если софтина)), а если отчет заведомо "большой и длинный" - то сразу лью в csv...