1. Məhsullar
  2.   Elektron cədvəl
  3.   C++
  4.   Libxlsxwriter
 
  

Excel Cədvəlləri üçün Açıq Mənbəli C Kitabxanası

Açıq Mənbə C API vasitəsilə Microsoft Excel 2007 və XLSX Cədvəl fayllarını yaradın, redaktə edin, idarə edin və çevirin, cədvəlləri birləşdirin, iş vərəqinə diaqramlar əlavə edin.

Libxlsxwriter açıq mənbəli C kitabxanasıdır və ondan Microsoft Excel 2007, eləcə də öz proqramlarınız daxilində Excel XLSX faylları ilə işləmək üçün istifadə edilə bilər. Libxlsxwriter kitabxanası Excel XLSX faylları ilə çox uyğundur və tərtibatçılara asanlıqla XLSX cədvəllərini yaratmağa, dəyişdirməyə və emal etməyə imkan verir. Kitabxana Linux, FreeBSD, OpenBSD, OS X, iOS və Windows kimi aparıcı platformalarda rəvan işləyir. 32 və 64 bit üçün tərtib edə bilər.

Açıq mənbəli Libxlsxwriter kitabxanası yaxşı optimallaşdırılıb və böyük cədvəl faylları ilə düzgün işləyə bilir. O, cədvəl hüceyrələrinin birləşdirilməsi, adların müəyyən edilməsi, Avtofiltrlərin dəstəyi, iş səhifələrinə diaqramların əlavə edilməsi, məlumatların yoxlanılması və açılan siyahılar, PNG/JPEG şəkillərinin əlavə edilməsi, hüceyrə şərhlərinin əlavə edilməsi, VBA makrosları ilə işləmək kimi bir neçə vacib funksiyaya dəstək daxildir. , vərəqə sütunu əlavə etmək və ya silmək və daha çox.

Previous Next

Libxlsxwriter ilə işə başlamaq

Libxlsxwriter kitabxana qurmaq və quraşdırmaq üçün CMake-i dəstəkləyir. Zəhmət olmasa aşağıdakı əmrdən istifadə edin.

CRAN vasitəsilə libxlsxwriter quraşdırın

 cmake $SOURCE_DIR $FLAGS 

GitHub-dan libxlsxwriter mənbə kodu deposunu klonlayın. Zəhmət olmasa aşağıdakı kodu istifadə edin.

GitHub vasitəsilə libxlsxwriter quraşdırın

it clone https://github.com/jmcnamara/libxlsxwriter.git
# Or use your preferred protocol instead of https 

Excel XLSX Cədvəli yaratmaq üçün C API

Açıq mənbəli Libxlsxwriter API proqram tərtibatçılarına öz C proqramlarında Excel XLSX Cədvəllərini yaratmağa və dəyişdirməyə imkan verir. API Excel elektron cədvəl faylında çoxlu iş vərəqlərinə mətn, rəqəmlər, düsturlar və hiperlinklərin yazılması üçün dəstək verir. Siz Excel fayllarından məlumatları asanlıqla idxal və ya ixrac edə bilərsiniz və vərəqləri, axtarış məlumatlarını və daha çoxunu birləşdirə və ya ayıra bilərsiniz.

C API vasitəsilə Excel cədvəlini yaradın<

#include "xlsxwriter.h"
int main() {
    /* Create a new workbook and add a worksheet. */
    lxw_workbook  *workbook  = workbook_new("demo.xlsx");
    lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);
    /* Add a format. */
    lxw_format *format = workbook_add_format(workbook);
    /* Set the bold property for the format */
    format_set_bold(format);
    /* Change the column width for clarity. */
    worksheet_set_column(worksheet, 0, 0, 20, NULL);
    /* Write some simple text. */
    worksheet_write_string(worksheet, 0, 0, "Hello", NULL);
    /* Text with formatting. */
    worksheet_write_string(worksheet, 1, 0, "World", format);
    /* Write some numbers. */
    worksheet_write_number(worksheet, 2, 0, 123,     NULL);
    worksheet_write_number(worksheet, 3, 0, 123.456, NULL);
    /* Insert an image. */
    worksheet_insert_image(worksheet, 1, 2, "logo.png");
    workbook_close(workbook);
    return 0;
}

Excel qrafikləri ilə işləmək

Libxlsxwriter API C əmrlərindən istifadə edərək Excel cədvəllərinə Diaqramlar əlavə etmək və dəyişdirmək üçün funksionallıq təmin etmişdir. Diaqramları yaratmaq və idarə etmək üçün diaqram marker funksiyalarından istifadə edə bilərsiniz. Siz həmçinin məlumatlarda tendensiyaları göstərmək üçün trend xətti və məlumatlarda səhv sərhədlərini göstərmək üçün xəta çubuqları əlavə edə bilərsiniz. Siz həmçinin qrafikə salınmış məlumat nöqtələrinin dəyərlərini göstərmək üçün diaqram seriyasına məlumat etiketləri qoya bilərsiniz. Siz asanlıqla istənilən diaqram obyektinə diaqram formatlaşdırma xassələrini tətbiq edə bilərsiniz.

Libxlsxwriter vasitəsilə Excel İş Vərəqində Diaqramlar yaradın

#include "xlsxwriter.h"
int main() {
    lxw_workbook  *workbook  = new_workbook("chart.xlsx");
    lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);
    // User function to add data to worksheet, not shown here.
    write_worksheet_data(worksheet);
    // Create a chart object.
    lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_COLUMN);
    // In the simplest case we just add some value data series.
    // The NULL categories will default to 1 to 5 like in Excel.
    chart_add_series(chart, NULL, "=Sheet1!$A$1:$A$5");
    chart_add_series(chart, NULL, "=Sheet1!$B$1:$B$5");
    chart_add_series(chart, NULL, "=Sheet1!$C$1:$C$5");
    // Insert the chart into the worksheet
    worksheet_insert_chart(worksheet, CELL("B7"), chart);
    return workbook_close(workbook);
}

Excel Data Validation ilə işləyin

Məlumatların yoxlanılması, tərtibatçılara istifadəçilərin Excel xanasına daxil olanları idarə etməyə imkan verən Excel xüsusiyyətidir. Məsələn, siz istifadəçiləri 1-dən 6-ya qədər rəqəm daxil etməyi məhdudlaşdıra və ya xanadakı mətn girişinin 25 simvoldan az olmasına əmin ola bilərsiniz. Libxlsxwriter API hər hansı bir dəyər, tam ədəd, ondalık, siyahı, tarix, vaxt, mətn uzunluğu və ya fərdi düstur kimi istifadəçi daxiletməsini yoxlamaq üçün çoxsaylı seçimlər təqdim edir.

Tam ədəd b/t 1 və 100 olmadıqda Fərdiləşdirmə Mesajını göstərin

// Display a custom info message when integer isn't between 1 and 100.
data_validation->validate         = LXW_VALIDATION_TYPE_INTEGER;
data_validation->criteria         = LXW_VALIDATION_CRITERIA_BETWEEN;
data_validation->minimum_number   = 1;
data_validation->maximum_number   = 100;
data_validation->input_title      = "Enter an integer:";
data_validation->input_message    = "between 1 and 100";
data_validation->error_title      = "Input value is not valid!";
data_validation->error_message    = "It should be an integer between 1 and 100";

VBA makroları ilə işləmək

Libxlsxwriter API proqram tərtibatçılarına funksiyaları və ya makroları ehtiva edən VBA faylını XLSX iş kitabına əlavə etmək asanlığı verir. Funksiyaları və makroları ehtiva edən Excel faylları XLSM uzantısından istifadə etməlidir, əks halda Excel şikayət edəcək və ola bilsin ki, faylı açmayacaq. VBA makroları adətən iş kitablarına və iş səhifəsi obyektlərinə aiddir. VBA kod adları açıq şəkildə göstərilməyibsə, libxlsxwriter ThisWorkbook və Sheet1, Sheet2 və s. Excel defoltlarından istifadə edəcək.

C Tətbiqləri daxilində Excel İş Kitabına VBA Makrolarını əlavə edin

 
#include "xlsxwriter.h"
int main() {
    /* Note the xlsm extension of the filename */
    lxw_workbook  *workbook  = workbook_new("macro.xlsm");
    lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);
    worksheet_set_column(worksheet, COLS("A:A"), 30, NULL);
    /* Add a macro file extracted from an Excel workbook. */
    workbook_add_vba_project(workbook, "vbaProject.bin");
    worksheet_write_string(worksheet, 2, 0, "Press the button to say hello.", NULL);
    lxw_button_options options = {.caption = "Press Me", .macro = "say_hello",
                                  .width = 80, .height = 30};
     worksheet_insert_button(worksheet, 2, 1, &options);
    return workbook_close(workbook);
}
 Azəri