All Projects → OfficeDev → Excel Io

OfficeDev / Excel Io

Licence: mit
A utility library that makes it easy to read and write Excel workbooks using C#

Projects that are alternatives of or similar to Excel Io

lazyExcel
a simply software like MS-Excel.it can be running muiti-platform...
Stars: ✭ 37 (+5.71%)
Mutual labels:  excel, office
Luckysheet
Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source.
Stars: ✭ 9,772 (+27820%)
Mutual labels:  excel, office
OfficeExtractor
Extracts embedded OLE objects from Word, Excel, PowerPoint, Open Office and RTF files without needing the original programs
Stars: ✭ 67 (+91.43%)
Mutual labels:  excel, office
Kkfileviewofficeedit
文件在线预览及OFFICE(word,excel,ppt)的在线编辑
Stars: ✭ 234 (+568.57%)
Mutual labels:  excel, office
rgpipe
lesspipe for ripgrep for common new filetypes using few dependencies
Stars: ✭ 21 (-40%)
Mutual labels:  excel, office
Androiddocumentviewer
Android 文档查看: word、excel、ppt、pdf,使用mupdf及tbs
Stars: ✭ 235 (+571.43%)
Mutual labels:  excel, office
eec
A fast and lower memory excel write/read tool.一个非POI底层,支持流式处理的高效且超低内存的Excel读写工具
Stars: ✭ 93 (+165.71%)
Mutual labels:  excel, office
Npoi
A .NET library for reading and writing Microsoft Office binary and OOXML file formats.
Stars: ✭ 1,751 (+4902.86%)
Mutual labels:  excel, office
craXcel-cli
Command line application to unlock Microsoft Office password protected files.
Stars: ✭ 44 (+25.71%)
Mutual labels:  excel, office
excel-to-python-course
Student materials and handouts for Excel to Python course
Stars: ✭ 73 (+108.57%)
Mutual labels:  excel, office
Office Ribbonx Editor
An overhauled fork of the original Custom UI Editor for Microsoft Office, built with WPF
Stars: ✭ 205 (+485.71%)
Mutual labels:  excel, office
phpspreadsheet-bundle
A Symfony bundle to integrate with PHPOffice's PhpSpreadsheet library
Stars: ✭ 47 (+34.29%)
Mutual labels:  excel, office
Documentserver
ONLYOFFICE Document Server is an online office suite comprising viewers and editors for texts, spreadsheets and presentations, fully compatible with Office Open XML formats: .docx, .xlsx, .pptx and enabling collaborative editing in real time.
Stars: ✭ 2,335 (+6571.43%)
Mutual labels:  excel, office
Office365FiddlerExtension
This Fiddler Extension is an Office 365 centric parser to efficiently troubleshoot Office 365 client application connectivity and functionality.
Stars: ✭ 23 (-34.29%)
Mutual labels:  excel, office
Weihanli.npoi
NPOI Extensions, excel/csv importer/exporter for IEnumerable<T>/DataTable, fluentapi(great flexibility)/attribute configuration
Stars: ✭ 157 (+348.57%)
Mutual labels:  excel, office
hadoopoffice
HadoopOffice - Analyze Office documents using the Hadoop ecosystem (Spark/Flink/Hive)
Stars: ✭ 56 (+60%)
Mutual labels:  excel, office
Phpspreadsheet
A pure PHP library for reading and writing spreadsheet files
Stars: ✭ 10,627 (+30262.86%)
Mutual labels:  excel, office
Pylightxl
A light weight, zero dependency, minimal functionality excel read/writer python library
Stars: ✭ 134 (+282.86%)
Mutual labels:  excel, office
Docs2Pdf
Bulk convert word/powerpoint/excel file to pdf.
Stars: ✭ 27 (-22.86%)
Mutual labels:  excel, office
ExcelFormulaBeautifier
Excel Formula Beautifer,make Excel formulas more easy to read,Excel公式格式化/美化,将Excel公式转为易读的排版
Stars: ✭ 27 (-22.86%)
Mutual labels:  excel, office

topic: sample products:

  • office-excel
  • office-365 languages:
  • csharp extensions: contentType: tools createdDate: 6/7/2018 11:27:43 AM

Excel.IO

The goal of this project is to simplify reading and writing Excel workbooks so that the developer needs only pass a collection of objects to write a workbook. Likewise, when reading a workbook the developer supplies a class with properties that map to column names to read a collection of those objects from the workbook.

Excel.IO takes a single dependency on the Open XML SDK and targets .NET Standard 2.0

Features

  • Easy to use developer API
  • Write one or more worksheets per workbook by passing a collection of strongly typed objects
  • Read one or more worksheets from a workbook into a collection of strongly typed objects

Limitations

  • Assumes workbook structure where the first row has column headers
  • Reading multiple worksheets is a little inefficient
  • Localisation isn't currently supported

Example: Writing a worksheet

Implement IExcelRow and define the columns of the spreadsheet as public properties:

public class Person : IExcelRow
{
    public string SheetName { get => "People Sheet"; }

    public string EyeColour { get; set; }

    public int Age { get; set; }

    public int Height { get; set; }
}

Then create instances and pass a collection to an instance of ExcelConverter to write a single sheet workbook with several rows:

var people = new List<Person>();

for (int i = 0; i < 10; i++) 
{
  people.Add(new Person
  {
    EyeColour = Guid.NewGuid().ToString(),
    Age = new Random().Next(1, 100),
    Height = new Random().Next(100, 200)
  });
}

var excelConverter = new ExcelConverter();
excelConverter.Write(people, "C:\\somefolder\\people.xlsx");

Example: Reading a worksheet

Implement IExcelRow and define public properties with the same name as columns of the spreadsheet (we'll just reuse the same class from above):

public class Person : IExcelRow
{
    public string SheetName { get => "People Sheet"; }

    public string EyeColour { get; set; }

    public int Age { get; set; }

    public int Height { get; set; }
}

Then, ask an instance of ExcelConverter to read an IEnumerable from disk:

var excelConverter = new ExcelConverter();
var people = excelConverter.Read<Person>("C:\\somefolder\\people.xlsx");

foreach(var person in people)
{
  //do something useful with the data
}

Feedback

For feature requests or bugs, please post an issue on GitHub.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

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].