overall design
Magicodes.IE Import and export general library , Support Dto Import and export 、 Template export 、 Export and dynamics , Support Excel、Csv、Word、Pdf and Html.
IE After a refactoring at the end of last year , After such a long iteration , It's a bottleneck again . According to myself and HueiFeng The communication of , We decided to postpone the development of small versions gradually , Start IE 3.0 R & D and reconfiguration of . This time, 3.0 The design of the , We mainly consider the following aspects :
Mainly to solve the pain point
In previous iterations , We left behind some pain points that have not been well resolved , At the same time, we have some ideas , I didn't come and deal with it :
-
More friendly localization support , And unified multilingual configuration . In the previous version , Although we can do it through filters , But it's not very friendly .
-
Further simplify and enhance dynamic derivation . Dynamic selection column export is common in many businesses , We want to make it easier API To provide users with more powerful dynamic export function , There is no need for users to dynamically create DTO And convert the data type .
-
Merge column header .
-
Cell merge . At present, the function of automatic merging of the same value is mainly considered .
-
Refactoring and redefining styles . It supports users to define table styles conveniently 、 Column style ( Include column width 、 Fixed column )、 Row style ( Including row height ) And cell styles ( Including height and width 、 background ).
-
Refactoring the most basic of import and export from feature class API. In addition to feature class import and export , It also supports dynamic export and JSON、XML Configure export .
-
Provide more simple hook functions , Covering all processing steps of import and export , It is convenient for users to process on demand .
-
Add column model encapsulation , Support date column 、 Picture column 、 Progress column 、 Status column 、 Switch column 、 Label column 、 Comment on the stars 、 Formula column, etc .
Why do it IE?
Actually in IE Before , We have many choices ,OpenXML、NPOI、EPPlus, Why do we choose to do IE Well ?
In daily business development , Import and export is a very common business , It even seeps into every list function , But it's such a common business , We often need to spend some energy , And in many cases it's repetitive development . Experienced developers know , It's not hard to write an import and export , But it's not easy to write an import and export business , Let's take an ordinary import business as an example , Often we have to consider the following :
-
Write import template generation for current import business ( Write dead is not easy to maintain )
-
When importing, you need to check whether the relevant columns and formats are valid
-
data verification . about Excel This kind of unrestricted input mode , The user's input will make you doubt your life . There is a slight omission , All kinds of accidents happen to programs . also , If the validation fails , We still need to UI The interface prompts the user where there is an error , It even needs to be marked in the user's import file .
-
Data type conversion and adaptation .
After looking at the above process , Do you think it's easy to import ? Because of that ,Magicodes.IE emerge as the times require , We hope to pass IE To help you simplify the import 、 Export business , And the code is simpler 、 More friendly and easier to maintain and expand .
Demand is endless ,IE After a long iteration , The latest version is 2.5 edition . There are enough features , But I'm still not satisfied . After much thought , We decided to postpone the small version iteration , Just start 3.0 Design and development of . We hope that 3.0 Further reconstruction , Lay the foundation , On the one hand, it completely solves some functions that have not been implemented before , On the other hand , Let part API More friendly , At the same time, it has greatly improved IE Scalability .
Invitation to contribute
about 3.0 At present, we are still in the stage of design and thinking , Of course 3.0 It's also IE A major update in the milestone , It's worth recording , We are looking forward to 3.0 Release of version , But because of this version, we're going to make a big historic update , We don't have enough development teams , At present, there is a lack of contributor participation , We sincerely hope that you can join us , Let's build IE, It doesn't matter if there is no time , Just take out a few hours a week . It doesn't matter if you can't reach it , On the one hand, we can implement the function first , Optimize the code again ; Another convenience , Our development team and the small partners in the group can provide ideas and one-on-one support .
Last
3.0 We are still in the design and thinking stage , You are welcome to provide valuable opinions and suggestions , If it is reasonable, we will include . however , Because our energy is really limited , I really hope you can join us , Let's build IE. It doesn't matter if there is no time , Just set aside a few hours a week . It doesn't matter if you can't reach it , On the one hand, we can implement the function first , Optimize the code again ; On the other hand , Me and HueiFeng And the small partners in the group can provide ideas and one-on-one support .
in the light of IE, We are serious , I hope you can join us seriously !
Last , Initiate a call for help :https://github.com/dotnetcore/Magicodes.IE/issues/171
【 Translate for help 】 Help for translation .Tutorial translation help #171, I hope someone can find time to help organize the course and lead the translation work .