Skip to content

Conversation

@shps951023
Copy link
Member

  • Changed target framework in MiniExcel.Benchmarks.csproj from net10.0 to net9.0.
  • Removed net10.0 from target frameworks in Directory.Build.props.
  • Updated copyright notice in Directory.Build.props.
  • Added icon.png and README.md to packaging in Directory.Build.props.
  • Reintroduced attribute classes in Attributes.cs for Excel columns.
  • Added IConfiguration interface and implementations in Configuration.cs.
  • Defined ExcelType enum in ExcelType.cs.
  • Restored ExcelTypeHelper.cs for determining Excel types.
  • Reintroduced core functionality in MiniExcel.cs for Excel file operations.
  • Added new README.md with project details and instructions.

- Changed target framework in `MiniExcel.Benchmarks.csproj` from `net10.0` to `net9.0`.
- Removed `net10.0` from target frameworks in `Directory.Build.props`.
- Updated copyright notice in `Directory.Build.props`.
- Added `icon.png` and `README.md` to packaging in `Directory.Build.props`.
- Reintroduced attribute classes in `Attributes.cs` for Excel columns.
- Added `IConfiguration` interface and implementations in `Configuration.cs`.
- Defined `ExcelType` enum in `ExcelType.cs`.
- Restored `ExcelTypeHelper.cs` for determining Excel types.
- Reintroduced core functionality in `MiniExcel.cs` for Excel file operations.
- Added new `README.md` with project details and instructions.
@shps951023 shps951023 merged commit ff41292 into master Aug 31, 2025
2 checks passed
@shps951023 shps951023 deleted the release_2_0_preview_nuget branch August 31, 2025 04:56
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @shps951023, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on modernizing the project's build configuration and restoring critical components that were previously in a 'Legacy' state. It also significantly enhances the project's documentation and packaging, making it easier for new users to understand and utilize the MiniExcel library.

Highlights

  • Project Configuration Updates: The target framework for MiniExcel.Benchmarks.csproj was updated from net10.0 to net9.0, and net10.0 was removed from the general target frameworks in Directory.Build.props.
  • Copyright and Packaging Enhancements: The copyright notice in Directory.Build.props was updated, and icon.png and README.md were added to the project's packaging configuration.
  • Core Functionality Restoration: Several core files (Attributes.cs, Configuration.cs, ExcelType.cs, ExcelTypeHelper.cs, MiniExcel.cs) were moved from a Legacy folder, effectively reintroducing and organizing essential Excel processing components.
  • New Project Documentation: A comprehensive README.md file was added to the src directory, providing detailed project information, features, getting started guides, and performance benchmarks.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the project structure by removing the 'Legacy' folder and restoring core functionality into the main MiniExcel library. It also updates target frameworks and packaging information. The changes are a good step towards cleaning up the codebase. My review has identified a critical bug in MiniExcel.cs that could lead to data loss through unintentional file overwrites. I've also found several areas for improvement regarding API consistency, feature completeness, and robustness in stream handling. Additionally, there are some minor issues in the new README.md and a potential misconfiguration in the packaging setup in Directory.Build.props. I've provided specific suggestions for all these points.


<ItemGroup>
<None Include="../icon.png" Pack="true" PackagePath="\" />
<None Include="../README.md" Pack="true" PackagePath="\" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The path ../README.md points to the README file in the repository's root directory. However, this pull request introduces a new src/README.md file. If the intention is to package this new README, the path should be updated to README.md.

        <None Include="README.md" Pack="true" PackagePath="\" />


### Introduction

MiniExcel is simple and efficient to avoid OOM's .NET processing Excel tool.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The phrasing here is a bit awkward. For better clarity and professionalism, consider rephrasing.

Suggested change
MiniExcel is simple and efficient to avoid OOM's .NET processing Excel tool.
MiniExcel is a simple and efficient .NET library for processing Excel files, designed to avoid Out-of-Memory (OOM) errors.


MiniExcel is simple and efficient to avoid OOM's .NET processing Excel tool.

At present, most popular frameworks need to load all the data into the memory to facilitate operation, but it will cause memory consumption problems. MiniExcel tries to use algorithm from a stream to reduce the original 1000 MB occupation to a few MB to avoid OOM(out of memory).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This sentence could be more direct and easier to understand. Consider simplifying it to improve readability.

Suggested change
At present, most popular frameworks need to load all the data into the memory to facilitate operation, but it will cause memory consumption problems. MiniExcel tries to use algorithm from a stream to reduce the original 1000 MB occupation to a few MB to avoid OOM(out of memory).
Most popular Excel processing libraries load the entire file into memory, which can lead to high memory consumption and OOM errors with large files. MiniExcel uses a streaming approach to process Excel data, significantly reducing memory usage.


### TODO

Please Check [TODO](https://github.com/mini-software/MiniExcel/projects/1?fullscreen=true)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There's an extra space between "Check" and "[TODO]".

Suggested change
Please Check [TODO](https://github.com/mini-software/MiniExcel/projects/1?fullscreen=true)
Please Check [TODO](https://github.com/mini-software/MiniExcel/projects/1?fullscreen=true)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants