All Projects → igormironchik → read-excel

igormironchik / read-excel

Licence: MIT license
This is very simple implementation of the Excel 97-2003 (BIFF8) format written in C++. Supported reading only.

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Labels

Projects that are alternatives of or similar to read-excel

hadoopoffice
HadoopOffice - Analyze Office documents using the Hadoop ecosystem (Spark/Flink/Hive)
Stars: ✭ 56 (+211.11%)
Mutual labels:  excel
OpenSpreadsheet
OpenSpreadsheet provides an easy-to-use wrapper around the OpenXML spreadsheet SAX API. It specializes in efficiently reading and writing between strongly typed collections and worksheets.
Stars: ✭ 24 (+33.33%)
Mutual labels:  excel
VisualTAF
ExlJS - Super easy to use, Excel and JS driven tool, encapsulating best practices in test automation development.
Stars: ✭ 21 (+16.67%)
Mutual labels:  excel
xlsx reader
A production-ready XLSX file reader for Elixir.
Stars: ✭ 46 (+155.56%)
Mutual labels:  excel
ingest-file
Ingestors extract the contents of mixed unstructured documents into structured (followthemoney) data.
Stars: ✭ 40 (+122.22%)
Mutual labels:  excel
SchemaMapper
A .NET class library that allows you to import data from different sources into a unified destination
Stars: ✭ 41 (+127.78%)
Mutual labels:  excel
Reports.JS
Stimulsoft Reports.JS is a reporting tool for Node.js and JavaScript applications.
Stars: ✭ 33 (+83.33%)
Mutual labels:  excel
SwiftyExcelView
A View Look Like Excel & Form
Stars: ✭ 45 (+150%)
Mutual labels:  excel
clipboard-parser
剪贴板解析器,支持解析@RequestParam/@ApiModelProperty接口定义代码、Word、Excel以及其他表格类数据
Stars: ✭ 15 (-16.67%)
Mutual labels:  excel
bingexcel
处理excel与java之间转换的ORM框架
Stars: ✭ 23 (+27.78%)
Mutual labels:  excel
ExcelExport
Classes to generate Excel/CSV Report in ASP.NET Core
Stars: ✭ 39 (+116.67%)
Mutual labels:  excel
cap-table-tool
Cap Table and Exit Waterfall Tool, https://foresight.is/cap-table
Stars: ✭ 22 (+22.22%)
Mutual labels:  excel
fastapi-csv
🏗️ Create APIs from CSV files within seconds, using fastapi
Stars: ✭ 46 (+155.56%)
Mutual labels:  excel
nodejs-nedb-excel
基于nodejs+webpack,以nosql轻量级嵌入式数据库nedb作为存储,页面渲染采用react+redux,样式框架为ant design,实现了excel表格上传导出以及可视化
Stars: ✭ 28 (+55.56%)
Mutual labels:  excel
vue-ele-import
超简单、好用的 element-ui Excel 导入组件
Stars: ✭ 50 (+177.78%)
Mutual labels:  excel
financial-forecast
Personal Financial Forecasting Model
Stars: ✭ 24 (+33.33%)
Mutual labels:  excel
DBC2Excel
Convert DBC to Excel by VBA
Stars: ✭ 33 (+83.33%)
Mutual labels:  excel
spreadsheet
Yii2 extension for export to Excel
Stars: ✭ 79 (+338.89%)
Mutual labels:  excel
eec
A fast and lower memory excel write/read tool.一个非POI底层,支持流式处理的高效且超低内存的Excel读写工具
Stars: ✭ 93 (+416.67%)
Mutual labels:  excel
ToolGood.Algorithm
Support four arithmetic operations, Excel formulas, and support custom parameters. 支持四则运算、Excel公式语法,并支持自定义参数。
Stars: ✭ 77 (+327.78%)
Mutual labels:  excel

BuildcodecovLicense: MIT

This is very simple implementation of the Excel 97-2003 format (BIFF8) written in C++. Supported reading only.

Partially supported reading of BIFF7 standard (Excel 95). If in global will be set BIFF7, and in worksheets will be set BIFF8, as in test/data/strange.xls, then such file will be loaded. This feature is tested less of all, so if you will find an issue, please commit a new issue. For BIFF7 support implemented reading of LABEL records, cell with non-unicode string. I found difference between the documentation that I have and actual record in XLS file, so I implemented by experimenting with real file, that opens with Libre Office, MS Office and Google Sheets, so I believe that there is an issue in the documentation of LABEL record.

Thanks for using this library.

Comparison

I found on GitHub pure C libxls library with almost identical functionality. Dry numbers say that test/complex test with read-excel runs by 326 ms, whereas this test with libxls runs by 302 ms, what is almost identical. But C++ this is higher abstraction, that allows to use read-excel more developer friendly, and read-excel is cross-platform out of the box.

Example

try {
	Excel::Book book( "sample.xls" );

	Excel::Sheet * sheet = book.sheet( 0 );

	std::wcout << L"There is output of the \"sample.xls\" Excel file."
		<< std::endl << std::endl;

	std::wcout << L"A1 : " << sheet->cell( 0, 0 ).getString()
		<< std::endl;
	std::wcout << L"A2 : " << sheet->cell( 1, 0 ).getString()
		<< L" B2 : " << sheet->cell( 1, 1 ).getDouble() << std::endl;
	std::wcout << L"A3 : " << sheet->cell( 2, 0 ).getString()
		<< L" B3 : " << sheet->cell( 2, 1 ).getDouble() << std::endl;
	std::wcout << L"A4 : " << sheet->cell( 3, 0 ).getString()
		<< L" B4 : " << sheet->cell( 3, 1 ).getFormula().getDouble()
		<< std::endl;
	std::wcout << L"A5 : " << sheet->cell( 4, 0 ).getString()
		<< std::endl << L"Date mode is : "
		<< ( book.dateMode() == Excel::Book::DateMode::Dec31_1899 ?
				L"count of days since 31 December 1899 :" :
				L"count of days since 01 January 1904 :" )
		<< L" B5 : " << sheet->cell( 4, 1 ).getDouble()
		<< " days." << std::endl;

	std::wcout << std::endl << L"Thats all. And thanks for using this library."
		<< std::endl;
}
catch( const Excel::Exception & x )
{
	std::wcout << x.whatAsWString() << std::endl;
}
catch( const std::exception & )
{
	std::wcout << L"Can't open file." << std::endl;
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].