{"id":13730407,"url":"https://github.com/QtExcel/QSimpleXlsxWriter","last_synced_at":"2025-05-08T03:30:29.883Z","repository":{"id":37680853,"uuid":"155042843","full_name":"QtExcel/QSimpleXlsxWriter","owner":"QtExcel","description":"Use SimpleXlsxWriter in Qt5. SimpleXlsxWriter is C++ library for creating XLSX files for MS Excel 2007 and above.","archived":false,"fork":false,"pushed_at":"2023-06-08T11:41:29.000Z","size":324,"stargazers_count":31,"open_issues_count":2,"forks_count":13,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-11-14T13:14:27.848Z","etag":null,"topics":["c","cpp","excel","qt","simplexlsxwriter","xlsx"],"latest_commit_sha":null,"homepage":"https://qtexcel.github.io/QSimpleXlsxWriter/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/QtExcel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":null,"patreon":"j2doll","open_collective":null,"ko_fi":null,"tidelift":null,"custom":null}},"created_at":"2018-10-28T06:41:19.000Z","updated_at":"2024-07-14T08:29:32.000Z","dependencies_parsed_at":"2022-07-28T19:19:42.696Z","dependency_job_id":"6aa7b3e8-15fe-4ff0-bb5e-fea5cbbd8a4d","html_url":"https://github.com/QtExcel/QSimpleXlsxWriter","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QtExcel%2FQSimpleXlsxWriter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QtExcel%2FQSimpleXlsxWriter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QtExcel%2FQSimpleXlsxWriter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QtExcel%2FQSimpleXlsxWriter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QtExcel","download_url":"https://codeload.github.com/QtExcel/QSimpleXlsxWriter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224695455,"owners_count":17354412,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cpp","excel","qt","simplexlsxwriter","xlsx"],"created_at":"2024-08-03T02:01:14.429Z","updated_at":"2024-11-14T21:30:52.631Z","avatar_url":"https://github.com/QtExcel.png","language":"C++","readme":"# QSimpleXlsxWriter\n\n## Introduction\n\n- Use SimpleXlsxWriter in Qt. \n- [SimpleXlsxWriter](https://sourceforge.net/projects/simplexlsx/) is C++ library for creating XLSX files for MS Excel 2007 and above.\n\t- Brought to you by: [oxod](https://sourceforge.net/u/oxod/), [programmeralex](https://sourceforge.net/u/programmeralex/)\n\t- The main feature of this library is that it uses C++ standard file streams. On the one hand it results in almost unnoticeable memory and CPU resources consumption while processing (that may be very useful at saving a large data arrays), but on the other hand it makes unfeasible to edit data that were written. Hence, if using this library the structure of the future report should be known enough.\n\n## Hello World (Simple.cpp)\n\n```cpp\n#include \u003ciostream\u003e\n#include \u003cmath.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003ctime.h\u003e\n\n#include \u003cXlsx/Workbook.h\u003e\n\nusing namespace SimpleXlsx;\n\nint main( int argc, char * argv[] )\n{\n    ( void )argc; ( void )argv;\n\n    setlocale( LC_ALL, \"\" );\n\n    time_t CurrentTime = time( NULL );\n\n    CWorkbook book( \"Incognito\" );\n\n    std::vector\u003cColumnWidth\u003e ColWidth;\n    ColWidth.push_back( ColumnWidth( 0, 3, 20 ) );\n    CWorksheet \u0026 Sheet = book.AddSheet( \"Unicode\", ColWidth );\n\n    Style style;\n    style.horizAlign = ALIGN_H_CENTER;\n    style.font.attributes = FONT_BOLD;\n    size_t CenterStyleIndex = book.AddStyle( style );\n\n    Sheet.BeginRow();\n    Sheet.AddCell( \"Common test of Unicode support\", CenterStyleIndex );\n    Sheet.MergeCells( CellCoord( 1, 0 ), CellCoord( 1, 3 ) );\n    Sheet.EndRow();\n\n    Font TmpFont = book.GetFonts().front();\n    TmpFont.attributes = FONT_ITALIC;\n    Comment Com;\n    Com.x = 250;\n    Com.y = 100;\n    Com.width = 100;\n    Com.height = 30;\n    Com.cellRef = CellCoord( 8, 1 );\n    Com.isHidden = false;\n    Com.AddContent( TmpFont, \"Comment with custom style\" );\n    Sheet.AddComment( Com );\n\n    Sheet.BeginRow();\n    Sheet.AddCell( \"English language\" );\n    Sheet.AddCell( \"English language\" );\n    Sheet.EndRow();\n\n    Sheet.BeginRow();\n    Sheet.AddCell( \"Russian language\" );\n    Sheet.AddCell( L\"Русский язык\" );\n    Sheet.EndRow();\n\n    Sheet.BeginRow();\n    Sheet.AddCell( \"Chinese language\" );\n    Sheet.AddCell( L\"中文\" );\n    Sheet.EndRow();\n\n    Sheet.BeginRow();\n    Sheet.AddCell( \"French language\" );\n    Sheet.AddCell( L\"le français\" );\n    Sheet.EndRow();\n\n    Sheet.BeginRow();\n    Sheet.AddCell( \"Arabic language\" );\n    Sheet.AddCell( L\"العَرَبِيَّة‎‎\" );\n    Sheet.EndRow();\n\n    Sheet.BeginRow();\n    Sheet.EndRow();\n\n    style.fill.patternType = PATTERN_NONE;\n    style.font.theme = true;\n    style.horizAlign = ALIGN_H_RIGHT;\n    style.vertAlign = ALIGN_V_CENTER;\n\n    style.numFormat.numberStyle = NUMSTYLE_MONEY;\n\n    size_t MoneyStyleIndex = book.AddStyle( style );\n\n    Sheet.BeginRow();\n    Sheet.AddCell( \"Money symbol\" );\n    Sheet.AddCell( 123.45, MoneyStyleIndex );\n    Sheet.EndRow();\n\n    style.numFormat.numberStyle = NUMSTYLE_DATETIME;\n    size_t DateTimeStyleIndex = book.AddStyle( style );\n\n    Sheet.BeginRow();\n    Sheet.AddCell( \"Write date/time\" );\n    Sheet.AddCell( CurrentTime, DateTimeStyleIndex );\n    Sheet.EndRow();\n\n    style.numFormat.formatString = \"hh:mm:ss\";\n    size_t CustomDateTimeStyleIndex = book.AddStyle( style );\n    Sheet.BeginRow();\n    Sheet.AddCell( \"Custom date/time\" );\n    Sheet.AddCell( CurrentTime, CustomDateTimeStyleIndex );\n    Sheet.EndRow();\n\n    Sheet.BeginRow();\n    Sheet.EndRow();\n\n    Style stPanel;\n    stPanel.border.top.style = BORDER_THIN;\n    stPanel.border.bottom.color = \"FF000000\";\n    stPanel.fill.patternType = PATTERN_SOLID;\n    stPanel.fill.fgColor = \"FFCCCCFF\";\n    size_t PanelStyleIndex = book.AddStyle( stPanel );\n    Sheet.BeginRow();\n    Sheet.AddCell( \"Cells with border\", PanelStyleIndex );\n    Sheet.AddCell( \"\", PanelStyleIndex );\n    Sheet.AddCell( \"\", PanelStyleIndex );\n    Sheet.AddCell( \"\", PanelStyleIndex );\n    Sheet.EndRow();\n\n    if( book.Save( \"Simple.xlsx\" ) ) std::cout \u003c\u003c \"The book has been saved successfully\" \u003c\u003c std::endl;\n    else std::cout \u003c\u003c \"The book saving has been failed\" \u003c\u003c std::endl;\n\n    return 0;\n}\n```\n\n## Test\n\n| Travis CI |\n| :-------: |\n| [![Build Status](https://travis-ci.com/QtExcel/QSimpleXlsxWriter.svg?branch=master)](https://travis-ci.com/QtExcel/QSimpleXlsxWriter) |\n\n## License and links\n- QSimpleXlsxWriter is under MIT license. [https://github.com/QtExcel/QSimpleXlsxWriter](https://github.com/QtExcel/QSimpleXlsxWriter)\n- SimpleXlsxWriter is under zlib license. [https://sourceforge.net/projects/simplexlsx/](https://sourceforge.net/projects/simplexlsx/)\n- zlib is under zlib license. [https://zlib.net/](https://zlib.net/)\n\n## Similar projects\n\n### :star: \u003cb\u003eQXlsx\u003c/b\u003e [https://github.com/QtExcel/QXlsx](https://github.com/QtExcel/QXlsx)\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/QtExcel/QXlsx/raw/master/markdown.data/QXlsx-Desktop.png\"\u003e\u003c/p\u003e\n\n- QXlsx is excel file(*.xlsx) reader/writer library.\n- Because QtXlsx is no longer supported(2014), I created a new project that is based on QtXlsx. (2017-)\n- Development language of QXlsx is C++. (with Qt)\n- You don't need to use static library or dynamic shared object using QXlsx.\n\n### :star: \u003cb\u003eQxlnt\u003c/b\u003e [https://github.com/QtExcel/Qxlnt](https://github.com/QtExcel/Qxlnt)\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/QtExcel/Qxlnt/raw/master/markdown-data/Concept-QXlnt.jpg\"\u003e\u003c/p\u003e\n\n- Qxlnt is a helper project that allows xlnt to be used in Qt.\n- xlnt is a excellent C++ library for using xlsx Excel files. :+1:\n- I was looking for a way to make it easy to use in Qt. Of course, cmake is compatible with Qt, but it is not convenient to use. So I created Qxlnt.\n\n### :star: \u003cb\u003eQlibxlsxwriter\u003c/b\u003e [https://github.com/QtExcel/Qlibxlsxwriter](https://github.com/QtExcel/Qlibxlsxwriter)\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/QtExcel/Qlibxlsxwriter/raw/master/markdown.data/logo.png\"\u003e\u003c/p\u003e\n\n- Qlibxlsxwriter is a helper project that allows libxlsxwriter to be used in Qt.\n- libxlsxwriter is a C library for creating Excel XLSX files. :+1:\n","funding_links":["https://patreon.com/j2doll"],"categories":["C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FQtExcel%2FQSimpleXlsxWriter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FQtExcel%2FQSimpleXlsxWriter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FQtExcel%2FQSimpleXlsxWriter/lists"}