Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
912 commits
Select commit Hold shift + click to select a range
c92aa0d
bug: Cannot do this for multiple selection (#641)
jiaguangli Jul 27, 2024
6161e29
1.34.1
shps951023 Aug 10, 2024
4b7f169
Fix QueryAsDataTable can't read Excel with only header rows (#647)
izanhzh Aug 13, 2024
b20ed40
feat(MiniExcelDataReaderBase): add MniExcelDataReaderBase class to si…
ArgoZhang Aug 15, 2024
6d81ddc
perf csv insert (#653)
izanhzh Aug 16, 2024
29d4ee8
Fix dimension writing in FastMode (#659)
Discolai Aug 25, 2024
831c814
1.34.2
shps951023 Sep 14, 2024
436aaa8
Yield empty self-closing row tags as empty row during query. (#673)
aulickiDnv Sep 28, 2024
f0fe803
Formula attribute added to support in rows with dto or dynamic attrib…
RaZer0k Oct 15, 2024
a0797a5
Upgrade to .NET 8.0 and refactor input value extraction (#681)
ramioh Nov 2, 2024
92b295d
Async implementation of freezing top row (#684)
BaatenHannes Nov 2, 2024
8e41121
1.35.0
shps951023 Nov 9, 2024
a7eea9e
If cellValue is string no matter that it contains only numbers will p…
Nov 20, 2024
0b15822
Write auto column width (#695)
Discolai Nov 22, 2024
d72312e
Merge pull request #698 from psyhlo/master
psyhlo Nov 23, 2024
da9b517
feat: Enhance IDataReader export with DynamicColumnFirst and Custom F…
IcedMango Nov 29, 2024
8957d30
1.36.0
shps951023 Dec 12, 2024
9ff56af
Place image in cell diff samples
shps951023 Dec 29, 2024
74477f1
Refactor MiniExcelDataReader
shps951023 Dec 29, 2024
bb34116
feat(MiniExcelDataReaderBase): add asynchronous support (#706)
izanhzh Jan 3, 2025
972663f
fix(MiniExcelDataReader): GetOrdinal always returns 0 (#711)
izanhzh Jan 19, 2025
578d98c
feat: support insert sheet (#709)
izanhzh Jan 19, 2025
9e5fea6
Generalize excel writing with a common write adapter and implement wr…
Discolai Jan 20, 2025
6f7ce30
1.37.0
shps951023 Jan 20, 2025
c60a41b
doc: add insert sheet
izanhzh Jan 23, 2025
6e37d20
Merge pull request #717 from izanhzh/master
izanhzh Jan 23, 2025
2e7219c
feat(DynamicExcelColumn): make the CustomFormatter property more powe…
izanhzh Jan 23, 2025
0688fda
feat(ExcelNumberFormat): extend the SectionType (#716)
izanhzh Jan 23, 2025
44aebaf
feat(ExcelOpenXmlSheetWriter): adjust the location of the `CustomForm…
izanhzh Feb 7, 2025
8136154
Fix @group tag not working with certain IEnumerable types (#723)
JamesDSource Feb 7, 2025
253a9b4
Optimized ContainsKey calls to TryGetValue
michelebastione Feb 9, 2025
07047c7
Materialized some IEnumerables using ToList
michelebastione Feb 9, 2025
d7f0924
Removed superfluous indentation and parenthesis
michelebastione Feb 9, 2025
01a71d9
Changed Count() method calls to Count property
michelebastione Feb 9, 2025
3491c96
Added safe IDisposable cast to IEnumerator
michelebastione Feb 9, 2025
d845ee4
WriteEmptyStringAsNull implementation (#725)
jiangyi1985 Feb 12, 2025
9b37e22
Merge pull request #724 from michelebastione/master
michelebastione Feb 12, 2025
94e59f9
1.38.0
shps951023 Feb 16, 2025
b7f7816
Added support for Uri mapping (#726)
michelebastione Feb 19, 2025
1021b08
Merge branch 'master' of https://github.com/mini-software/MiniExcel
shps951023 Feb 20, 2025
ca78480
fix(Insert Sheet): Added insert sheet feature about `ContentTypesXml`…
izanhzh Feb 23, 2025
d221726
Supports the TimeSpan type, double.NaN exports invalid values, and wh…
wxn401 Feb 23, 2025
16d8e48
Fixed parsing bug in the conversion to double (#734)
michelebastione Mar 12, 2025
c97070c
Fixed issue #735
michelebastione Mar 13, 2025
e445110
Merge pull request #736 from michelebastione/master
michelebastione Mar 13, 2025
6105d3d
Fixed cancellation token not working for some async methods, enhanced…
michelebastione Mar 16, 2025
177f86e
1.39.0
shps951023 Mar 17, 2025
1ca486b
Added exception to warn for sheet name too long
michelebastione Mar 17, 2025
462812d
Added options for trimming column names and ignoring empty rows
michelebastione Mar 17, 2025
6a6c08d
Bugfix of invalid cell values being mistakenly parsed as valid
michelebastione Mar 17, 2025
7ea9975
Merge branch 'bck' into features
michelebastione Mar 17, 2025
6b56bd9
Addendum
michelebastione Mar 18, 2025
ab84a4d
Moved sheet name check and fixed datetime formatting bug
michelebastione Mar 19, 2025
05c8062
Merge pull request #739 from michelebastione/features
michelebastione Mar 19, 2025
42ac1de
Removing DateTimeHelper.FromOADate and related code
michelebastione Mar 20, 2025
735d8e6
Added IAsyncDisposable calls to ExcelOpenXmlsheetWriter.Async
michelebastione Mar 20, 2025
f4a3a82
Fixes exception message unclear
michelebastione Mar 21, 2025
53e7be5
Changing NotImplementedException assert in some tests to NotSupported…
michelebastione Mar 21, 2025
fde6397
Merge pull request #740 from michelebastione/features
michelebastione Mar 21, 2025
0f8be6e
Added capability to include first row in strong typed mapping query (…
michelebastione Mar 25, 2025
a5d84ca
Add conditional formatting support to Excel template (#745)
Notallthatevil Mar 28, 2025
c2ef412
Refactored how formats are copied. (#747)
Notallthatevil Mar 29, 2025
c808109
Add support for .NET 9.0 in project file (#744)
Notallthatevil Mar 29, 2025
6b0a604
Remove redundant property in csproj file (#748)
AZhrZho Apr 3, 2025
afc8447
Optimization of SaveAsTemplate method (#749)
michelebastione Apr 4, 2025
dd81629
[OPT] Optimize max memory usage of SaveAsByTemplate #750 (#752)
shps951023 Apr 10, 2025
1d16612
1.34.0
shps951023 Apr 10, 2025
9d3e041
1.40.0
shps951023 Apr 10, 2025
3718c64
Major refactoring of tests and benchmarks (#756)
michelebastione Apr 11, 2025
f5c342e
[OPT] Optimize CleanXml method #751 (#757)
shps951023 Apr 11, 2025
1cead69
[doc] Contribution sharing donate
shps951023 Apr 11, 2025
5aa63a9
Added StyleOptions class to OpenXmlConfiguration to allow more direct…
michelebastione Apr 14, 2025
56b62a2
Added support for DateOnly type in query mapping
michelebastione Apr 16, 2025
ceff56f
Added support for DateOnly type in query mapping
michelebastione Apr 16, 2025
2cfcd85
update src/MiniExcel/OpenXml/OpenXmlConfiguration.cs.
xdqsgit Apr 17, 2025
6870b7c
update src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.DefaultOpenXml.cs.
xdqsgit Apr 17, 2025
e84c69b
add tests/MiniExcelTests/MiniExcelOpenXmlConfigurationTest.cs.
xdqsgit Apr 17, 2025
63fc632
[Bug] fix SaveAsByTemplate empty generated result
shps951023 Apr 18, 2025
8e0c266
[doc] 1.40.1
shps951023 Apr 18, 2025
02da0eb
Add a configuration item in OpenXmlConfiguration to control writing t…
shps951023 Apr 19, 2025
536b301
[doc] origin path to mini-software path
shps951023 Apr 19, 2025
68c60f9
[New] MiniExcel AddPicture (#770)
shps951023 Apr 20, 2025
28fa839
1.41.0
shps951023 Apr 20, 2025
dcadb38
Merge branch 'master' of https://github.com/mini-software/MiniExcel
shps951023 Apr 20, 2025
b198816
[doc] v 1.41.0 release
shps951023 Apr 20, 2025
fa7b9a9
Fix Excel style.xml duplicate numFmtId, system error: An item with th…
shps951023 Apr 23, 2025
04cf552
[Bug] Fix Saving by template introduces unintended value replication …
shps951023 Apr 23, 2025
695c50e
add unit test #771
shps951023 Apr 23, 2025
984081e
Added sheet dimensions feature (#774)
michelebastione Apr 25, 2025
01785ae
Fix SaveAsByTemplate not working in > v1.39.0 for templates with colu…
shps951023 Apr 25, 2025
38eb60c
1.41.1
shps951023 Apr 25, 2025
8c21989
Cleaned up the fix for issue 773
michelebastione May 3, 2025
2f0f977
Cleaned up the fix for issue 773
michelebastione May 3, 2025
fa51ef4
Benchmarks refactoring and adaptation for making them run on Github A…
michelebastione May 7, 2025
fb9be8a
Added benchmark workflow file
michelebastione May 7, 2025
ecfadda
Added workflow file for new Github Actions benchmark
michelebastione May 7, 2025
f572df3
Solves issue 459 and removes redundant api methods
michelebastione May 15, 2025
44265c0
Fix issue 459
michelebastione May 15, 2025
7e3c777
add deepwiki link and badge.
isdaniel May 17, 2025
92964ae
Merge pull request #784 from isdaniel/add-deepwiki-link
isdaniel May 17, 2025
ac71d40
Fixed issue 527
michelebastione May 17, 2025
b99cd28
Moved redundant object initialization for new value from OpenXmlSheet…
michelebastione May 17, 2025
9162f51
Minor refactoring and code cleanup
michelebastione May 17, 2025
eeb4f2c
Update README.md
shps951023 May 18, 2025
9d59b57
Merge PR 785: Fixes enum behaviour and adds support for DescriptionAt…
michelebastione May 18, 2025
6744a78
1.41.2
shps951023 May 23, 2025
d56526d
Fixing issue 584
michelebastione May 24, 2025
34ded1a
Refactoring and cleanup
michelebastione May 24, 2025
a5c3e88
Merge pull request #786: Fixing issue 584
michelebastione May 25, 2025
c0284f0
Fixed CodeQL warnings
michelebastione May 26, 2025
ce89d54
Minor fixes to docs and workflows
michelebastione May 26, 2025
46385a8
Fix List<Dictionary<string,object>> SaveAs the filter button at the b…
shps951023 May 27, 2025
ff745a3
Fix SaveAsFileWithDimension unit test
shps951023 May 27, 2025
094c1fa
Fixing benchmarks workflow file and updating dependencies
michelebastione May 27, 2025
6cc3bb1
Adding QuoteWhitespaces option to CsvConfiguration for adding double …
michelebastione May 28, 2025
14bf5ea
Merge pull request #790: added option to quote csv values containing …
michelebastione May 29, 2025
ded3184
Fixed errors in benchmark workflow files and updated readmes to refle…
michelebastione May 31, 2025
0c35f7c
Merge pull request #791: Fixed errors in benchmark workflow file and …
michelebastione May 31, 2025
9aacbe5
Automated benchmark report - master
invalid-email-address May 31, 2025
2079b97
doc: Add highest point memory usage
shps951023 Jun 1, 2025
a343fb3
Add core authors NuGet information
shps951023 Jun 1, 2025
ad2ce7d
[bugfix] enable async style builder setting cell wrap text
kasimLZ Jun 3, 2025
c766cda
Merge pull request #795 from kasimLZ/bugfix-enable-wrap-text-cell-style
michelebastione Jun 3, 2025
a0501da
Add NPOI benchmark code (#796)
tonyqus Jun 9, 2025
94a2aa2
Document add 20 languages
shps951023 Jun 9, 2025
9488ab9
Merge branch 'master' of https://github.com/mini-software/MiniExcel
shps951023 Jun 9, 2025
c6f739d
consolidate duplicated logic
izanhzh Jun 9, 2025
3af284d
organize the code and fix bugs
izanhzh Jun 10, 2025
ac0838e
extraction method
izanhzh Jun 10, 2025
2c5bfb1
a little adjustment
izanhzh Jun 10, 2025
84e636e
Update MiniExcelLibs.csproj
shps951023 Jun 11, 2025
4cd6d3a
fix(sheet): remove and re-add phoneticPr for correct XML order; ensur…
Jun 11, 2025
2ce8eb4
Adding methods from NPOI to the benchmarks (#798)
tonyqus Jun 11, 2025
035025d
Merge pull request #797: Code refactoring, merged Query and QueryRang…
michelebastione Jun 11, 2025
1d06e96
Merge pull request #802 from ethanlin6/fix_WriteSheetXml
michelebastione Jun 12, 2025
a9064c4
Merge PR #799: Replace Task.Run wrappers with real asynchronous metho…
virzak Jun 16, 2025
80c26e3
Minor corrections to #799 (#808)
virzak Jun 17, 2025
0f1774e
refactor: auto-generate sync methods (#807)
izanhzh Jun 17, 2025
9c70b5d
Restore performance by returning bool instead of object in TryGetMerg…
virzak Jun 20, 2025
30040f5
bugfix: multiple empty rows in query result due to empty first row (…
izanhzh Jun 20, 2025
1103aed
1 41 3 fix bugs (#818)
shps951023 Jun 21, 2025
b00b045
Revert "1 41 3 fix bugs (#818)" (#820)
michelebastione Jun 21, 2025
e7f94a0
Big refactoring before first beta release (#821)
michelebastione Jun 23, 2025
21d73f2
Updated README.md
michelebastione Jun 24, 2025
deb3113
修复 MiniExcel 导出 Excel 时,图片插入方式问题,支持将图片嵌入单元格
1016423262 Jun 29, 2025
08102d1
!14 Fix the issue with image insertion method when exporting Excel us…
shps951023 Jul 1, 2025
8338fd6
Fix the issue with image insertion method when exporting Excel using …
shps951023 Jul 1, 2025
81fa303
Update README.md
shps951023 Jul 2, 2025
e80c3c2
Remove .NET 9 and add .NET 10; remove .NET Framework 4.6.2 which is s…
virzak Jul 6, 2025
7e692bc
Replace image chart with mermaid (#829)
virzak Jul 7, 2025
d1a19c9
Separating project into different assemblies (#828)
michelebastione Aug 4, 2025
4d697fa
Fixes formulas not being replaced in templates (#846)
michelebastione Aug 6, 2025
74ff1af
Adding header styling options as part of the OpenXmlStyleOptions clas…
dazhu6666 Aug 7, 2025
6eefe8c
Minor refactoring (#849)
michelebastione Aug 8, 2025
de7cb9a
Removed ObsoleteAttribute from the old methods' signatures and moved …
michelebastione Aug 22, 2025
f19d8ca
New readme for v2.0 (#855)
michelebastione Aug 25, 2025
da85e91
Update language links and improve README formatting (#865)
shps951023 Aug 28, 2025
ff41292
Update project structure and restore core functionality (#866)
shps951023 Aug 31, 2025
7d63280
Add DateTime to DateOnly conversion (#870)
RiRiSharp Sep 7, 2025
dff07fb
Minor doc changes (#872)
michelebastione Sep 9, 2025
9785bae
Fixes an oversight in PR 870 due to which DateOnly values were calcul…
michelebastione Sep 10, 2025
631a59c
Fixed exception not being thrown when too long a sheet name was passe…
michelebastione Sep 13, 2025
f6b6059
Merge pull request #878
michelebastione Sep 13, 2025
938ac80
Added custom exception for indexers being treated as properties durin…
michelebastione Oct 7, 2025
2443e75
Expose IProgress for Exports (#883)
mukunku Oct 13, 2025
3f40cd3
Adding fluent-mapping support (#850)
CoreyKaylor Oct 16, 2025
0380907
Fixed two edge cases with the mapping of double types (#886)
michelebastione Oct 16, 2025
9d46f10
Reverting unnecessary test changes from #886
michelebastione Oct 25, 2025
085f144
Fixes #888 by ignoring empty rows
michelebastione Oct 25, 2025
2027843
Merge pull request #893 from michelebastione/fix-issue-888
michelebastione Oct 25, 2025
c09cb8c
Changing shared strings cache path from Guid based to TempPath based …
michelebastione Nov 12, 2025
04f2633
Adding .NET 10 target framework
michelebastione Nov 14, 2025
9074ebd
Some minor changes
michelebastione Nov 14, 2025
c452533
Reorganizing test data
michelebastione Nov 14, 2025
d2716fe
Updated sample projects
michelebastione Nov 16, 2025
018c856
Fixed minor bugs in the samples and reverted icon location change
michelebastione Nov 16, 2025
045c28c
Merge pull request #900 from michelebastione/net10-refactoring
michelebastione Nov 16, 2025
1ae7b7f
Bumping project version and updating gitignore
michelebastione Nov 16, 2025
10cd617
Merge pull request #901 from michelebastione/v2.0.0-preview.2
michelebastione Nov 16, 2025
34d178f
Fixed benchmark result file names in workflow
michelebastione Nov 17, 2025
fa0ec7d
Automated benchmark report - master
invalid-email-address Nov 17, 2025
d7c5b7f
Fix #905: Release the internally created IAsyncEnumerator (#906)
izanhzh Nov 22, 2025
2cd9612
fixing gitignore
michelebastione Nov 24, 2025
9287266
New github report templates (#908)
michelebastione Nov 27, 2025
5cfa15b
Added horizontal template fill workaround to the docs (#912)
meiranzheng Dec 22, 2025
8309cd7
fix template export generating corrupted Excel files (#917)
A-nony-mous Jan 26, 2026
75018fe
Moved OpenXml specific logic to new MiniExcel.OpenXml project (#918)
michelebastione Feb 13, 2026
b4d6001
Removing superfluous tags from project files
michelebastione Feb 14, 2026
bcbe1a1
Adding functionality to ignore empty csv rows when importing
michelebastione Feb 14, 2026
483b22e
Merge pull request #923 from michelebastione/issue-914-fix
michelebastione Feb 14, 2026
d308789
Added async implementation for GenerateSheetXmlImplByCreateMode (#925)
michelebastione Feb 15, 2026
4f7f451
Fixes Issue 915 (#924) and other minor changes
michelebastione Feb 15, 2026
6bc13a7
Added right-to-left layout exporting capability (#927)
michelebastione Feb 25, 2026
802c08b
Changed logic behind identification of special template values (#928)
michelebastione Feb 26, 2026
7a0b97f
MiniExcelDataReader refactoring (#929)
michelebastione Mar 3, 2026
f52c8db
Refactored cell width writing logic
michelebastione Mar 8, 2026
2f0bc52
Adds mapping fields capability (#931)
michelebastione Mar 8, 2026
26c9228
Adds hidden columns functionality (#932)
michelebastione Mar 9, 2026
4bba63c
Fixed minor edge case bug in enum mapping
michelebastione Mar 10, 2026
87ae5b9
Added explicit flag for overwriting result file when applying a template
michelebastione Mar 11, 2026
a0a1285
Refactoring of the templating system (#936)
michelebastione Mar 23, 2026
b2ecec2
Cell alignment support (#938)
2399087410 Mar 27, 2026
5993dd3
Revised and patched the workflow for exporting to OpenXml asynchronously
michelebastione Apr 1, 2026
6c5cb81
Removed superfluous null check in OpenXmlTemplate.Impl.cs
michelebastione Apr 3, 2026
06a66f0
Optimized write adapters and improved code clarity (#940)
michelebastione Apr 3, 2026
2a2c32a
Enhanced OpenXmlImporter with new functionality for retrieving commen…
michelebastione Apr 4, 2026
1b9bcbe
Removed forced appending of `.xlsx` extension to file paths when expo…
michelebastione Apr 6, 2026
6f54d45
Changing templating system from XmlDocument based to XDocument based …
michelebastione Apr 16, 2026
9d2c3f1
Added API for editing a worksheet's properties (#949)
michelebastione Apr 24, 2026
b4d8e61
Preparations for release of preview version 3 (#950)
michelebastione Apr 26, 2026
98ac7cd
Fixing obsolete OpenXmlTemplater method signatures to force overwriti…
michelebastione Apr 26, 2026
c4f457a
Automated benchmark report - 2.0.0-preview.3
invalid-email-address Apr 26, 2026
00b2ea5
Added check to OpenXmlValueExtractor to exclude indexers from propert…
michelebastione Apr 27, 2026
ac6ae3c
Enhanced formatting capabilities (#955)
michelebastione May 10, 2026
cfab654
Refactoring of string data handling in OpenXmlWriter (#961)
michelebastione May 17, 2026
b4e5ab6
Fixed issue with generated documents unable to be accessed thrugh Ole…
michelebastione May 17, 2026
3f6c894
Adds new CopyAndAddSheet API to OpenXmlExporter (#965)
michelebastione May 21, 2026
e6590a3
Added polyfills and simplified preprocessor directives (#966)
michelebastione May 24, 2026
f9aa916
Added resource-based localization for column attributes (#967)
michelebastione May 24, 2026
47a7752
Documentation Improvements (#968)
michelebastione May 30, 2026
2dd1e81
Added support for querying arbitrary named tables (#969)
michelebastione May 31, 2026
56daf62
Minor readme fix
michelebastione May 31, 2026
2d543b3
Reorganizing tests (#970)
michelebastione Jun 1, 2026
5901e78
Update README PDF conversion
shps951023 Jun 5, 2026
d5ca690
Expanded data reader capabilities and other minor changes (#971)
michelebastione Jun 6, 2026
2ee6919
Added support for dynamic sheet generation and nested properties for …
iyumot Jun 9, 2026
e10b5f9
Bumping version to 2.0.0-preview.4
michelebastione Jun 13, 2026
3359104
Automated benchmark report - 2.0.0-preview.4
invalid-email-address Jun 13, 2026
1932687
Test refactorings for improved code coverage (#976)
michelebastione Jun 21, 2026
db0c635
Updating sample projects and minor tests cleanup (#977)
michelebastione Jun 21, 2026
74e6ccb
Added Open Collective username in FUNDING.yml
michelebastione Jun 28, 2026
3266e8b
Deterministic Excel generation (#982)
michelebastione Jul 5, 2026
3c6fd59
Added documentation to MiniExcelConverter and fixed warnings in tests…
michelebastione Jul 20, 2026
d5abe04
Minor project cleanup by removing unused packages and files (#988)
michelebastione Jul 22, 2026
b5613e5
Updated .gitattributes to make tests data ignored by Github in diffs …
michelebastione Jul 22, 2026
12a4f32
Refactored FluentMapping into separate assembly (#991)
michelebastione Jul 23, 2026
5195330
Added CODE_OF_CONDUCT.md and CONTRIBUTING.md files (#992)
michelebastione Jul 24, 2026
1d22a55
Fix template calcChain regeneration and $= formula cells (MiniExcel.O…
martin-vitous Aug 4, 2026
8e5bec8
Implement XLSX init support in MiniExcel
shps951023 Aug 13, 2026
73bc421
Add MiniExcel facade and streaming support for XLSX files
shps951023 Aug 13, 2026
3074a82
Refactor miniexcel library: streamline options, reader, and writer mo…
shps951023 Aug 13, 2026
b046357
feat: Add .NET parity contract tests and update dependencies
shps951023 Aug 13, 2026
efdea50
feat: Add miniexcel-cli for local command-line testing and enhance RE…
shps951023 Aug 14, 2026
b7ea89f
feat(rust): add WASM browser demo and Pages deployment
shps951023 Aug 14, 2026
723072c
feat: add browser wasm support and inclusive cell range functionality
shps951023 Aug 14, 2026
4d5105f
chore: remove language selection section from README files
shps951023 Aug 14, 2026
3f39ca9
Remove rust version MiniExcel project
shps951023 Aug 14, 2026
6e3b730
Removed rust implementation references
michelebastione Aug 18, 2026
9d9826e
Added AllowFieldCountMismatch property to CsvConfiguration
michelebastione Jul 19, 2026
c6b632f
Removed unused very large csv sample file
michelebastione Jul 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 19 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[*.{cs,vb}]

# IDE0009: Member access should be qualified.
dotnet_style_qualification_for_event = false

# IDE0009: Member access should be qualified.
dotnet_style_qualification_for_field = false

# IDE0009: Member access should be qualified.
dotnet_style_qualification_for_property = false

# IDE0009: Member access should be qualified.
dotnet_style_qualification_for_method = false

# IDE0065: Misplaced using directive
csharp_using_directive_placement = outside_namespace

# IDE0161: Use file-scoped namespace
csharp_style_namespace_declarations = file_scoped:silent
55 changes: 55 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
* text=auto

*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain

*.jpg binary
*.png binary
*.gif binary

*.cs -text diff=csharp
*.vb -text
*.c -text
*.cpp -text
*.cxx -text
*.h -text
*.hxx -text
*.py -text
*.rb -text
*.java -text
*.html -text
*.htm -text
*.css -text
*.scss -text
*.sass -text
*.less -text
*.js -text
*.lisp -text
*.clj -text
*.sql -text
*.php -text
*.lua -text
*.m -text
*.asm -text
*.erl -text
*.fs -text
*.fsx -text
*.hs -text

*.csproj -text merge=union
*.vbproj -text merge=union
*.fsproj -text merge=union
*.dbproj -text merge=union
*.sln -text merge=union
*.slnx -text merge=union

tests/data/** binary
tests/data/** linguist-generated
13 changes: 13 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# These are supported funding model platforms

#github: [shps951023]
#patreon: # Replace with a single Patreon username
open_collective: minisoftware # Replace with a single Open Collective username
#ko_fi: # Replace with a single Ko-fi username
#tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
#community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
#liberapay: # Replace with a single Liberapay username
#issuehunt: # Replace with a single IssueHunt username
#otechie: # Replace with a single Otechie username
#lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
custom: ['https://miniexcel.github.io'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: Bug Report
about: Create a report to help us improve the project
title: "[BUG] - [Short description of the issue]"
labels: bug
assignees: ''
---

## Description
A clear and concise description of what the bug is about.
Include a minimum reproducible sample of the code and, if applicable, the exception message and its stack trace.
Please write in English for the sake of our international contributors!

## Expected Behavior
A brief description of what you expected to happen.

## Actual Behavior
A brief description of what actually happened.

## Workarounds
Please share what adjacent solutions you've found for the issue, if any.

## Environment (please fill the following information):
- MiniExcel Version: [e.g. 1.42.0, 1.41.4, 2.0.0-preview.2]
- .NET Version: [e.g. net10.0, net481]
- OS: [e.g. Windows, macOS, Linux]

## Files and/or Screenshots
If applicable, please upload:
- The document you're trying to query, or a mock if not available
- The malformed result of the document you're tying to generate
- The template document you're trying to fill

## Additional Context
Include here any extra info, diagrams, or links.
31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
name: Feature Request
about: Suggest an idea or improvement for this project
title: "[Feature] - [Title of the request]"
labels: enhancement
assignees: ""
---

## Feature Summary
A clear and concise description of what the feature is about.
Please write in English for the sake of our international contributors!

## Document Formats
What document formats will benefit from this new functionality?

- [ ] XLSX
- [ ] CSV
- [ ] XLSM
- [ ] Other

## Motivation
How does the need for this feature arise? What problem does it solve?

## Proposed Solution
Describe how you envision this feature working. Be as detailed as you can.

## Alternatives Considered
Have you considered any alternative solutions or workarounds?

## Additional Context
Include any extra info, screenshots, diagrams, or links.
123 changes: 123 additions & 0 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
name: MiniExcel Benchmarks

on:
workflow_dispatch:
release:
branches: [master, v1.x-maintenance]
types: [published]

permissions:
contents: write

jobs:
QueryBenchmark:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 10.0.x
- name: Restore dependencies
run: dotnet restore
working-directory: ./benchmarks/MiniExcel.Benchmarks
- name: Build
run: dotnet build --no-restore
working-directory: ./benchmarks/MiniExcel.Benchmarks
- name: Benchmark
run: dotnet run -c Release -f net10.0
working-directory: ./benchmarks/MiniExcel.Benchmarks
env:
BenchmarkMode: Automatic
BenchmarkSection: query
- name: Renaming result file
run: mv MiniExcelLib.Benchmarks.BenchmarkSections.QueryExcelBenchmark-report-github.md query-benchmark.md
working-directory: ./benchmarks/MiniExcel.Benchmarks/BenchmarkDotNet.Artifacts/results
- name: Save benchmark results
uses: actions/upload-artifact@v4
with:
name: query-benchmark-result
path: ./benchmarks/MiniExcel.Benchmarks/BenchmarkDotNet.Artifacts/results/*.md

CreateBenchmark:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 10.0.x
- name: Restore dependencies
run: dotnet restore
working-directory: ./benchmarks/MiniExcel.Benchmarks
- name: Build
run: dotnet build --no-restore
working-directory: ./benchmarks/MiniExcel.Benchmarks
- name: Benchmark
run: dotnet run -c Release -f net10.0
working-directory: ./benchmarks/MiniExcel.Benchmarks
env:
BenchmarkMode: Automatic
BenchmarkSection: create
- name: Renaming result file
run: mv MiniExcelLib.Benchmarks.BenchmarkSections.CreateExcelBenchmark-report-github.md create-benchmark.md
working-directory: ./benchmarks/MiniExcel.Benchmarks/BenchmarkDotNet.Artifacts/results
- name: Save benchmark results
uses: actions/upload-artifact@v4
with:
name: create-benchmark-result
path: ./benchmarks/MiniExcel.Benchmarks/BenchmarkDotNet.Artifacts/results/*.md

TemplateBenchmark:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 10.0.x
- name: Restore dependencies
run: dotnet restore
working-directory: ./benchmarks/MiniExcel.Benchmarks
- name: Build
run: dotnet build --no-restore
working-directory: ./benchmarks/MiniExcel.Benchmarks
- name: Benchmark
run: dotnet run -c Release -f net10.0
working-directory: ./benchmarks/MiniExcel.Benchmarks
env:
BenchmarkMode: Automatic
BenchmarkSection: template
- name: Renaming result file
run: mv MiniExcelLib.Benchmarks.BenchmarkSections.TemplateExcelBenchmark-report-github.md template-benchmark.md
working-directory: ./benchmarks/MiniExcel.Benchmarks/BenchmarkDotNet.Artifacts/results
- name: Save benchmark results
uses: actions/upload-artifact@v4
with:
name: template-benchmark-result
path: ./benchmarks/MiniExcel.Benchmarks/BenchmarkDotNet.Artifacts/results/*.md

PushBenchmarksResults:
runs-on: ubuntu-latest
needs: [ QueryBenchmark, CreateBenchmark, TemplateBenchmark ]

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Fetch benchmark results
uses: actions/download-artifact@v4
with:
path: ./benchmarks/results
merge-multiple: true
- name: Commit reports
working-directory: ./benchmarks/results
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git add ./*.md
git commit -am "Automated benchmark report - ${{ github.ref_name }}"
git push origin HEAD:master --force-with-lease
78 changes: 78 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ master, v1.x-maintenance ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master, v1.x-maintenance ]
schedule:
- cron: '18 0 * * 0'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'csharp' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 10.0.x

- name: Restore dependencies
run: dotnet restore

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)

# - name: Autobuild
# uses: github/codeql-action/autobuild@v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl

# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language

- name: Manual build
run: dotnet build MiniExcel.slnx -c Release -f net10.0

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
33 changes: 33 additions & 0 deletions .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: .NET

on:
pull_request:
push:
branches: [master, v1.x-maintenance]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
8.0.x
9.0.x
10.0.x
- name: Restore dependencies
run: dotnet restore
env:
VSTEST_CONNECTION_TIMEOUT: 9000
- name: Build
run: dotnet build --no-restore
env:
VSTEST_CONNECTION_TIMEOUT: 9000
- name: Test
run: dotnet test --no-build --verbosity normal
env:
VSTEST_CONNECTION_TIMEOUT: 9000
Loading
Loading