.net core 项目中几款常用类库收藏

汉字转拼音

1、 HxfPinYin

这是我自己根据网上大神提供的源码,再。net core 框架下编译出的类库

主要提供汉字转拼音的功能。

使用

    public static class Pinyin
    {
        public static string ConvertEncoding(string text, Encoding srcEncoding, Encoding dstEncoding);
        public static string GetChineseText(string pinyin);
        public static string GetChineseText(string pinyin, Encoding encoding);
        public static string GetInitials(string text);
        public static string GetInitials(string text, Encoding encoding);
        public static string GetPinyin(string text);
        public static string GetPinyin(string text, Encoding encoding);
        public static string GetPinyin(char ch);
        public static string GetPinyin(char ch, Encoding encoding);
    }

excel操作

1、EPPlus.Core

生成excel表格

           string sFileName = $"{Guid.NewGuid()}.xlsx";
            FileInfo file = new FileInfo(sFileName);
            string[] title = { "货品编号",
                "货品名称",
                "条码",
                "规格",
                "基本单位",
                "当前库存",
                "库存下限",
                "库存上限"
            };
            using (ExcelPackage package = new ExcelPackage(file))
            {
                ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("库存信息");
                int index = 1;
                foreach (string t in title)
                {
                    worksheet.Cells[1, index++].Value = t;
                }
                index = 2;
                foreach (var d in list)
                {
                    worksheet.Cells[index,1].Value = d.ProductCode;
                    worksheet.Cells[index, 2].Value = d.ProductName;
                    worksheet.Cells[index, 3].Value = d.BarCode;
                    worksheet.Cells[index, 4].Value = d.SpecValues;
                    worksheet.Cells[index, 5].Value = d.BaseUnit;
                    worksheet.Cells[index, 6].Value = d.Quantity;
                    worksheet.Cells[index, 7].Value = d.DownLimitQuantity;
                    worksheet.Cells[index, 8].Value = d.UpLimitQuantity;
                    index++;
                }
                package.Save();

            }

pdf操作

1、iTextSharp.LGPLv2.Core

生成pdf

           string tempFilePath = $"{Guid.NewGuid()}.pdf";
            string[] title = { "货品编号",
                "货品名称",
                "条码",
                "规格",
                "基本单位",
                "当前库存",
                "库存下限",
                "库存上限"
            };
            using (FileStream wfs = new FileStream(tempFilePath, FileMode.OpenOrCreate)) {
                //PageSize.A4.Rotate();当需要把PDF纸张设置为横向时
                Document docPDF = new Document(PageSize.A4,10, 10, 20,20);
                PdfWriter write = PdfWriter.GetInstance(docPDF, wfs);
                docPDF.Open();
                //在这里需要注意的是,itextsharp不支持中文字符,想要显示中文字符的话需要自己设置字体 
                BaseFont bsFont = BaseFont.CreateFont(@"C:\Windows\Fonts\simsun.ttc,0", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
                Font font = new Font(bsFont);

                float[] clos = new float[] { 40,40,40,20,20,30,30,30};// 宽度
                PdfPTable tablerow1 = new PdfPTable(clos);
                foreach (string t in title)
                {
                    PdfPCell cell = new PdfPCell(new Paragraph(t, font));
                    cell.MinimumHeight = 4f;
                    tablerow1.AddCell(cell);
                }
                foreach (var d in list)
                {
                    tablerow1.AddCell(new PdfPCell(new Paragraph(d.ProductCode, font)));
                    tablerow1.AddCell(new PdfPCell(new Paragraph(d.ProductName, font)));
                    tablerow1.AddCell(new PdfPCell(new Paragraph(d.BarCode, font)));
                    tablerow1.AddCell(new PdfPCell(new Paragraph(d.SpecValues, font)));
                    tablerow1.AddCell(new PdfPCell(new Paragraph(d.BaseUnit, font)));
                    tablerow1.AddCell(new PdfPCell(new Paragraph(d.Quantity.ToString(), font)));
                    tablerow1.AddCell(new PdfPCell(new Paragraph(d.DownLimitQuantity.ToString(), font)));
                    tablerow1.AddCell(new PdfPCell(new Paragraph(d.UpLimitQuantity.ToString(), font)));
                }
                docPDF.Add(tablerow1);//将表格添加到pdf文档中

                docPDF.Close();//关闭
                write.Close();
                wfs.Close();
            }

Html文件解析

1、AngleSharp

官网

http://anglesharp.github.io/

简单使用

var dom = htmlParser.Parse(html);
var result = dom.QuerySelectorAll("div.class").ToList();

简单例子

我用这个包实现了了一个简单的网页爬虫。

爬虫简单例子

例子源码:https://github.com/yiershan/DonetSpider

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据结构与算法

cf559C. Gerald and Giant Chess(容斥原理)

从$(1, 1)$到$(h, w)$不经过障碍点的方案数为$C(h + w, h)$

9910
来自专栏章鱼的慢慢技术路

在Unity场景中控制日夜的轮转

28740
来自专栏大数据-Hadoop、Spark

hive bucket

hive中table可以拆分成partition, table和partition可以通过CLUSTERED BY 进一步分bucket,bucket中的数据...

12920
来自专栏大数据风控

R文本挖掘-中文分词Rwordseg

我们的数据分析工作,不仅仅有对数据的分析,还有对文字资料整合的统计分析。在进行词频统计之前,有一项必须要做的工作就是中文的分词。 语料库的处理 语料库 语料...

33960
来自专栏Python小屋

Win10系统配置Python3.6+OpenGL环境详细步骤

1、首先登录https://www.opengl.org/resources/libraries/glut/,下载下图箭头所指的文件 ? 2、解压缩,如下图所示...

47870
来自专栏高爽的专栏

登录之验证码

       产生验证码,MakeCertPic.java: public class MakeCertPic { // 验证码图片中可以出现的字符集,可...

28900
来自专栏C#

Apple的LZF算法解析

    有关LZF算法的相关解析文档比较少,但是Apple对LZF的开源,可以让我们对该算法进行一个简单的解析。LZFSE 基于 Lempel-Ziv ,...

37870
来自专栏hbbliyong

检测端口是否被占用

        当我们要创建一个Tcp/Ip Server connection ,我们需要一个范围在1000到65535之间的端口 。 但是本机一个端口只能一...

363100
来自专栏开源FPGA

基于FPGA驱动VGA显示图片的小问题

         学习VGA显示图片的过程中,遇到了一个小问题,我在显示屏上开了一个60x60的框,放了一张图片进去显示,但是最终的结果如下图所示。 ?   出...

29290
来自专栏LET

谈谈3D Tiles(2):数据结构

49540

扫码关注云+社区

领取腾讯云代金券