Git Product home page Git Product logo

dotnetcore / magicodes.ie Goto Github PK

View Code? Open in Web Editor NEW
2.0K 72.0 469.0 147.66 MB

Import and export general library, support Dto import and export, template export, fancy export and dynamic export, support Excel, Csv, Word, Pdf and Html.

Home Page: http://docs.dotnet-china.com/Magicodes.IE

License: MIT License

C# 99.09% HTML 0.91%
import-and-export excel pdf word html magicodes csv html-word-pdf excel-sheet csharp dotnet

magicodes.ie's Introduction

Magicodes.IE | 简体中文

Member project of .NET Core Community nuget Build Status stats License

Stargazers over time

Azure DevOps tests (master) Azure DevOps coverage (branch) Financial Contributors on Open Collective

Overview

Import and export general library, support Dto import and export, template export, fancy export and dynamic export, support Excel, Csv, Word, Pdf and Html.

General description

Azure DevOps

  • Build Status:Build Status
  • Azure DevOps coverage (master): Azure DevOps coverage (branch)
  • Azure DevOps tests (master): Azure DevOps tests (master)

For details, see: https://dev.azure.com/xinlaiopencode/Magicodes.IE/_build?definitionId=4&_a=summary

NuGet

Stable version (recommended)

Name NuGet
Magicodes.IE.Core NuGet
Magicodes.IE.Excel NuGet
Magicodes.IE.Excel.NPOI NuGet
Magicodes.IE.Excel.AspNetCore NuGet
Magicodes.IE.Pdf NuGet
Magicodes.IE.Word NuGet
Magicodes.IE.Html NuGet
Magicodes.IE.Csv NuGet
Magicodes.IE.AspNetCore NuGet
Magicodes.IE.EPPlus NuGet
Magicodes.IE.Excel.Abp NuGet
Magicodes.IE.Csv.Abp NuGet
Magicodes.IE.Html.Abp NuGet
Magicodes.IE.Pdf.Abp NuGet
Magicodes.IE.Word.Abp NuGet
Magicodes.IE.Stash NuGet

Note

  • Excel import does not support ".xls" files, that is, Excel97-2003 is not supported.
  • For use in Docker, please refer to the section "Use in Docker" in the documentation.
  • Relevant functions have been compiled with unit tests. You can refer to unit tests during the use process.

Tutorial

  1. Basic tutorial of importing student data
  2. Basic tutorial of export Excel
  3. Basic tutorial of export Pdf receipts
  4. Use in Docker
  5. Dynamic Export
  6. Import Multi-Sheet Tutorial
  7. Import and export Excel as pictures
  8. Excel template export-Export textbook order form
  9. Excel Merge Row Cells Import
  10. Exporting multiple formats in NETCore via request headers
  11. Performance Measurement
  12. Excel Merge Row Cells Import
  13. Excel template export - dynamic export

See below for other tutorials or unit tests

See below for update history.

Features

  • Need to be used in conjunction with related import and export DTO models, support import and export through DTO and related characteristics. Configure features to control related logic and display results without modifying the logic code;
  • Support various filters to support scenarios such as multi-language, dynamic control column display, etc. For specific usage, see unit test:
    • Import column header filter (you can dynamically specify the imported column and imported value mapping relationship)
    • Export column header filter (can dynamically control the export column, support dynamic export (DataTable))
    • Export column headers filter (can dynamically control the export column, support dynamic export (DataTable))
    • Import result filter (can modify annotation file)
  • Export supports text custom filtering or processing;
  • Import supports automatic skipping of blank lines in the middle;
  • Import supports automatically generate import templates based on DTO, and automatically mark required items;
  • Import supports data drop-down selection, currently only supports enumerated types;
  • Imported data supports the processing of leading and trailing spaces and intermediate spaces, allowing specific columns to be set;
  • Import supports automatic template checking, automatic data verification, unified exception handling, and unified error encapsulation, including exceptions, template errors and row data errors;
  • Support import header position setting, the default is 1;
  • Support import columns out of order, no need to correspond one to one in order;
  • Support to import the specified column index, automatic recognition by default;
  • Exporting Excel supports splitting of Sheets, only need to set the value of [MaxRowNumberOnASheet] of the characteristic [ExporterAttribute]. If it is 0, no splitting is required. See unit test for details;
  • Support importing into Excel for error marking;
  • Import supports cutoff column setting, if not set, blank cutoff will be encountered by default;
  • Support exporting HTML, Word, Pdf, support custom export template; -Export HTML -Export Word -Export Pdf, support settings, see the update log for details -Export receipt
  • Import supports repeated verification;
  • Support single data template export, often used to export receipts, credentials and other businesses
  • *Support dynamic column export (based on DataTable), and the Sheet will be split automatically if it exceeds 100W. (Thanks to teacher Zhang Shanyou (#8 )) *
  • Support dynamic/ExpandoObject dynamic column export
        [Fact(DisplayName = "DTO export supports dynamic types")]
        public async Task ExportAsByteArraySupportDynamicType_Test()
        {
            IExporter exporter = new ExcelExporter();

            var filePath = GetTestFilePath($"{nameof(ExportAsByteArraySupportDynamicType_Test)}.xlsx");

            DeleteFile(filePath);

            var source = GenFu.GenFu.ListOf<ExportTestDataWithAttrs>();
            string fields = "text,number,name";
            var shapedData = source.ShapeData(fields) as ICollection<ExpandoObject>;

            var result = await exporter.ExportAsByteArray<ExpandoObject>(shapedData);
            result.ShouldNotBeNull();
            result.Length.ShouldBeGreaterThan(0);
            File.WriteAllBytes(filePath, result);
            File.Exists(filePath).ShouldBeTrue();
        }
  • **Support value mapping, support setting value mapping relationship through "ValueMappingAttribute" feature. It is used to generate data validation constraints for import templates and perform data conversion. **
        /// <summary>
        /// Gender
        /// </summary>
        [ImporterHeader(Name = "Gender")]
        [Required(ErrorMessage = "Gender cannot be empty.")]
        [ValueMapping(text: "Male", 0)]
        [ValueMapping(text: "Female", 1)]
        public Genders Gender { get; set; }
  • Support the generation of imported data verification items of enumeration and Bool type, and related data conversion

    • Enumeration will automatically obtain the description, display name, name and value of the enumeration by default to generate data items

       	/// <summary>
       	/// Student Status
       	/// </summary>
       	public enum StudentStatus
       	{
       		/// <summary>
       		/// Normal
       		/// </summary>
       		[Display(Name = "正常")]
       		Normal = 0,
      
       		/// <summary>
       		/// Pupils away
       		/// </summary>
       		[Description("流水")]
       		PupilsAway = 1,
      
       		/// <summary>
       		/// Suspension
       		/// </summary>
       		[Display(Name = "休学")]
       		Suspension = 2,
      
       		/// <summary>
       		/// Work-study
       		/// </summary>
       		[Display(Name = "勤工俭学")]
       		WorkStudy = 3,
      
       		/// <summary>
       		/// Internships
       		/// </summary>
       		[Display(Name = "顶岗实习")]
       		PostPractice = 4,
      
       		/// <summary>
       		/// Graduate
       		/// </summary>
       		[Display(Name = "毕业")]
       		Graduation = 5,
      
       		/// <summary>
       		/// Join the army
       		/// </summary>
       		[Display(Name = "参军")]
       		JoinTheArmy = 6,
       	}

    • The bool type will generate "yes" and "no" data items by default

    • If custom value mapping has been set, no default options will be generated

  • Support excel multi-sheet import

  • Support Excel template export, and support image rendering

    The rendering syntax is as follows:

      {{Company}}  //Cell rendering
      {{Table>>BookInfos|RowNo}} //Table rendering start syntax
      {{Remark|>>Table}}//Table rendering end syntax
      {{Image::ImageUrl?Width=50&Height=120&Alt=404}} //Picture rendering
      {{Image::ImageUrl?w=50&h=120&Alt=404}} //Picture rendering
      {{Image::ImageUrl?Alt=404}} //Picture rendering
    

    Custom pipelines will be supported in the future.

  • Support Excel import template to generate annotation

  • Support Excel image import and export

    • Picture import
      • Import as Base64
      • Import to temporary directory
      • Import to the specified directory
    • Picture export
    • Export file path as picture
    • Export network path as picture
  • Support multiple entities to export multiple Sheets

  • Support using some features under the System.ComponentModel.DataAnnotations namespace to control import and export #63

  • Support the use of custom formatter in ASP.NET Core Web API to export content such as Excel, Pdf, Csv #64

  • Support export by column, sheet, and additional rows

exporter.Append(list1).SeparateByColumn().Append(list2).ExportAppendData(filePath);

For details, see the above tutorial "Magicodes.IE Fancy Export"

  • Support cell export width setting
[ExporterHeader(Width = 100)]
public DateTime Time3 { get; set; }
  • **Excel export supports HeaderRowIndex. Add the HeaderRowIndex attribute to the ExcelExporterAttribute export attribute class, so that it is convenient to specify the export from the first row when exporting. **

  • Excel generated import template supports built-in data verification

The support for the built-in data validation can be turned on through the IsInterValidation attribute, and it should be noted that only MaxLengthAttribute, MinLengthAttribute, StringLengthAttribute, and RangeAttribute support the opening operation of the built-in data validation.

Support display operations for input prompts:

  • Excel import supports merging row data #239

合并行导入文件

  • Add packaging for Abp module, see #318 for details.

FAQ

Question List

Update history

Update history

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

magicodes.ie's People

Contributors

1518648489 avatar 263613093 avatar afonsof91 avatar applebananamilk avatar barryyue avatar cacocode avatar ccccccmd avatar codelove1314 avatar dependabot[bot] avatar excalione avatar geffzhang avatar hueifeng avatar kamenriderkuuga avatar lemonnocry avatar linch90 avatar netty2019 avatar nivalxer avatar raymmond avatar serfend avatar sgalcheung avatar skywolf627 avatar stoning-code avatar tanyongzheng avatar wangj90 avatar wlclass avatar xiangxiren avatar xin-lai avatar xl-wenqiang avatar yachengmu avatar zyowee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

magicodes.ie's Issues

导出数据的数据头没有汉化

Importer.GenerateTemplate<ImportMonthSalaryDto>("salarytemplate.xlsx");

这样到出模板数据头汉化了

但是如果导出的数据,excel数据头没有汉化

IImporter Importer = new ExcelImporter();
 var result = await exporter.Export("newSalary.xlsx", dtos);

其中 dtos是ImportMonthSalaryDto的集合
image

导入标注问题

如果当前Excel上传模板上的某一个单元格有一个标注,再次在相同的单元格上写标注就会报错
image

需要处理这种情况吗?

生成模板时可否增加引用类型的获取,生成模板时的行为类似枚举

比如我们平常所说的商品类别,枚举比较适用于枚举值不多并且值比较固定场景。商品类别比较多,而且有时会有些改动,有没有办法在属性标注上建一个Action委托,从数据库获取所有的商品类别名称,这样生成模板时类别名称也可以像枚举值可以选择,方便用户使用也方便后台数据不会引用出错。

TableStyles.None不生效

运行demo示例,dto类:

    [ExcelExporter(Name = "学生信息", AutoFitAllColumn = true, TableStyle = "None")]
    public class Student
    { 
        /// <summary> 
        /// 姓名 
        /// </summary> 
        [ExporterHeader(DisplayName = "姓名")] 
        public string Name { get; set; } 
        /// <summary> 
        /// 年龄 
        /// </summary> 
        [ExporterHeader(DisplayName = "年龄")] 
        public int Age { get; set; }
        /// <summary> 
        /// 备注 
        /// </summary> 
        [ExporterHeader(DisplayName = "备注")]
        public string Remarks { get; set; } 
        /// <summary> 
        /// 出生日期 
        /// </summary>
        [ExporterHeader(DisplayName = "出生日期", Format = "yyyy-MM-dd")] 
        public DateTime Birthday { get; set; } 
    }

TableStyle为None时对应于TableStyles.None,但是导出的excel样式是Medium9,如下图:
image

导入模板能否生成一个Summary ,用于展示导入需要注意的一些要点

Is your feature request related to a problem? Please describe.
在日常导入中,需要有一个导入说明提供查看当前导入模板的使用方法或者注意事项
In the daily Excel import, there needs to be an import specification that provides the usage or considerations for viewing the current Excel import template

Describe the solution you'd like
能否在导入模板生成的时候 在导入模型上指定一个标签用于填写导入说明,
并将导入说明 填充到Excel Sheet的第一行或进行醒目的展示
Can you specify a label on the Excel import model to fill in the import instructions when the import template is generated?
Fill in the first row of the Excel Sheet with the import instructions or make them visible
Thanks U

分页导出功能【需求】

前提:
导出数据量比较大且耗时的时候,前端会和后端失去交互或者前端会等不到后端接口的结果(超时),基于这种情况下,支持分页导出就是最好的选择,
思路:
1、首次导出的时候,导出数据及表头
2、再次导出的时候,读取首次(首次保存文件路径)文件流,在文件流的基础上再把本次的数据写入到新的文件流中
说明:
这样,前端会得到一个实时的进度,(思路来自于表格分页查询)

2.2.0-beta2版本以Append方式导出多个sheet时,发生“Tablename is not unique”错误

2.2.0-beta2版本以Append方式导出多个sheet时,当Append的ICollection均为空集合时,报 “Tablename is not unique”错误,比如:

new ExcelExporter().Append(new List<Student>()).Append(new List<Teacher>()).ExportAppendData("test.xlsx");

image

详细错误信息如下:

System.ArgumentException
  HResult=0x80070057
  Message=Tablename is not unique
  Source=EPPlus
  StackTrace:
   at OfficeOpenXml.Table.ExcelTableCollection.Add(ExcelAddressBase Range, String Name)
   at Magicodes.ExporterAndImporter.Excel.Utility.ExportHelper`1.AddHeader()
   at Magicodes.ExporterAndImporter.Excel.Utility.ExportHelper`1.AddHeaderAndStyles()
   at Magicodes.ExporterAndImporter.Excel.Utility.ExportHelper`1.Export(ICollection`1 dataItems)
   at Magicodes.ExporterAndImporter.Excel.ExcelExporter.Append[T](ICollection`1 dataItems)
   at Magicodes.IE.Excel.Program.Export() in E:\Technology\Magicodes.IE.Excel\Magicodes.IE.Excel\Program.cs:line 29
   at Magicodes.IE.Excel.Program.Main(String[] args) in E:\Technology\Magicodes.IE.Excel\Magicodes.IE.Excel\Program.cs:line 15

@xin-lai 请帮忙尽快解决,谢谢

【2.0】Excel导出重构

  • 重构整个Excel导出模块
  • 支持数据拆分成多个Sheet导出(不仅仅是DataTable)
  • 导出结果支持数据筛选(数据表)
  • 支持列筛选器,移除ColumnHeaderStringFunc
  • 优化忽略列

在导出Excel时如何自定义复杂表头?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

表头问题

目前导出Excel时,会自动加入筛选功能
问题1、如何取消这个自动筛选功能
问题2、既然有了筛选功能,那为啥只支持10行呢?

我想要的解决方案是
筛选功能 需要我自己设置(可以加入到 ExporterAttribute 这个特性中 )
筛选行数也支持自己定义

导入带guid类型时报错

public class WeiChat_BrokerClient3 : WeiChat_WeChatWithNoKeyBase
{

    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    /// <summary>
    ///   用户id
    /// </summary>
    [Display(Name = "用户ID")]
    public Guid userId { get; set; }

 。。。。。
}

}
执行的代码是
//导入数据

        var filePath = Path.Combine(Server.MapPath("~/upload"), "1.xlsx");

        var import = await Importer.Import<WeiChat_BrokerClient3>(filePath);
        import.ShouldNotBeNull();

1

添加并重构当前特性

  • 支持使用System.ComponentModel.DataAnnotations命名空间下的部分特性来控制导入导出,比如
    • DisplayAttribute
    • DisplayFormatAttribute
    • DescriptionAttribute
  • 封装简单的易于使用的单一特性,例如
    • IEIgnoreAttribute(可作用于属性、枚举成员,可影响导入和导出)

如何把数字导出成文本?

Format 设置为什么 可以让 单元格 在导出后变成文本。
long 的 总变成 科学计数法
网上查了下 设成 @ 也没有用。。。
还是说最新版已经支持?

excel导出报错

版本:1.4.21
excel导出时,如果导出模型定义了ExporterHeader就会报错,这是反编译的报错的位置:
image

[AutoMap(typeof(Standard))]//这是automap的映射配置
[ExcelImporter(IsLabelingError = true)]//这个模型同时也用于导出模板
public class ImportExcelDto
{
        public const int MaxLength = 1024;
        /// <summary>
        /// 规程类型
        /// </summary>
        [MaxLength(MaxLength)]
        [Display(Name = "名称")]
        [ExporterHeader("名称")]
        public string Name { get; set; }
}
//导出文件
await exporter.Export("xxxx.xlsx", new List<ImportExcelDto>{new ImportExcelDto{Name="123"}});

如果模型没有定义ExporterHeader则不会报错

对.NET版本有要求不?

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 无法安装程序包“Magicodes.IE.Excel 2.1.2”。你正在尝试将此程序包安装到目标为“.NETFramework,Version=v4.5”的项目中,但该程序包不包含任何与该框架兼容的程序集引用或内容文件。有关详细信息,请联系程序包作者。

DataTable导出没有列名,这段代码将DataTable的属性与传入的DataTable列名比较导到获取不到列名

DataTable导出没有列名,这段代码将DataTable的属性与传入的DataTable数据列名比较导到获取不到列名

https://github.com/xin-lai/Magicodes.IE/blob/master/src/Magicodes.ExporterAndImporter.Excel/ExcelExporter.cs

///


/// 获取头部定义
///

///
///
///
///

`
private static bool GetExporterHeaderInfoList(out List exporterHeaderList,
DataColumnCollection dataColumns)
{
exporterHeaderList = new List();
var objProperties = typeof(T).GetProperties();
if (objProperties == null || objProperties.Length == 0)
return true;
var index = 0;
for (var k = 0; k < dataColumns.Count; k++)
for (var i = 0; i < objProperties.Length; i++)
if (dataColumns[k].ColumnName.Equals(objProperties[i].Name))
{
index += 1;
exporterHeaderList.Add(new ExporterHeaderInfo
{
Index = index,
PropertyName = objProperties[i].Name,
ExporterHeader =
(objProperties[i].GetCustomAttributes(typeof(ExporterHeaderAttribute), true) as
ExporterHeaderAttribute[])?.FirstOrDefault()
});
}
return false;
}

`

@xin-lai

支持根据配置导入导出

现在是根据Dto及对应属性控制导入,是否能支持根据配置信息导入,如根据配置JSON文件导入到DataTable。目前张队长已实现基于DataTable的导出。

导出日期变成了数字

版本:1.4.21
导出的模型属性类型DateTime?类型,excel数据是数字,要手动设置单元格格式才能变成日期
image

nuget 安装Magicodes.IE.Excel 2.1.4,导入报错

var import = await _importer.Import(fullPath, "");
import.Exception :
Method not found: 'System.String Magicodes.ExporterAndImporter.Core.Extension.Extension.Save(System.Drawing.Image, System.String, System.Drawing.Imaging.ImageFormat)'.

clone最新的源码直接引用,没有异常,

Asp.net core 3.1 WebAPI 调用 PdfExporter 报错

具体错误如下:
Could not load type 'Microsoft.AspNetCore.Razor.Language.RazorTemplateEngine' from assembly 'Microsoft.AspNetCore.Razor.Language, Version=3.1.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'."
按提示 添加 Microsoft.AspNetCore.Razor.Language.RazorTemplateEngine 更新引用到3.1.2.0 也报错,不明白了!
但是.net core 3.1的测试项目确可以运行
感谢

2.1.0版本,从excel导入数据,不识别日期格式

Describe the bug
A clear and concise description of what the bug is.
excel中 列是日期格式,导入报错,提示“值 43914 无效,请填写正确的日期时间格式!”
To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.
微信截图_20200325165247

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

一个DTO中有多个字段,如何选择让某些个字段不导出

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

请在文档中注明不支持Excel97-2003

using (var excelPackage = new ExcelPackage(stream))
这行代码读取xls的Excel时,Sheet的数量为0,后续报错无法操作,将文档格式改为xlsx后,此问题消失

亟需帮助!!

为了更好的完善Magicodes.IE,年前我会逐步重构和优化部分内容,同时急缺文档和翻译(将文档翻译为英文文档)支持,希望有朋友能够参与进来。

Out Of Memory

在使用导出excel功能的时候,刚开始导出,内存猛的上涨接近100M,导出结束后下降80+M,实际导出的excel才5M,随着不断重复这个导出操作,应用内存逐渐上升,几乎没结束一次导出,内存占用就多20M,请问有遇到这个问题吗?如何解决?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.