一切福田,不離方寸,從心而覓,感無不通。

Category Archives: C#

使用NPOI导出Excel 并设置Excel样式(合并单元格、行高、宽度、字体、边框、位置)

1、添加对NPOI的引用 2、创建excel文件对象 HSSFWorkbook wb = new HSSFWorkbook(); 3、创建 工作表,也就是Excel中的sheet,给工作表赋一个名称 title HSSFSheet sheet = (HSSFSheet)wb.CreateSheet(title); 4、设置某一列宽度 sheet.SetColumnWidth(0, 10 * 256); 列号从0开始 5、合并单元格 例: 第1行到第2行 第3列到第4列围成的矩形区域 sheet.AddMergedRegion(new CellRangeAddress(0, 1, 2, 3)); 合并单元格后,只需对第一个位置赋值即可 6、在工作表中创建一行 /// <summary> /// 创建行 /// </summary> /// <param name="wb"></param> /// <param name="sheet"></param> /// <param name="rowNum">创建 一行 的行号 从0开始</param> /// <param name="rowHeigh">行高</param> public HSSFRow CreateRow(HSSFSheet sheet, int rowNum, float rowHeight) { HSSFRow row = (HSSFRow)sheet.CreateRow(rowNum); //创建行 row.HeightInPoints = rowHeight; //设置列头行高 return row; } 7、设置单元格样式 /// <summary> /// 设置样式 /// </summary> /// <param name="wb"></param> /// <param name="hAlignment">水平布局方式</param> /// <param name="vAlignment">垂直布局方式</param> […]

龙生   20 May 2022
View Details

利用dynamic解决匿名对象不能赋值的问题

匿名对象是.Net Framework 3.0提供的新类型。
C# 4.0里面新提供的动态类型:dynamic。

龙生   22 Apr 2022
View Details

C# XML序列化 去掉xmlns和xmlns属性

  from:https://blog.csdn.net/a5251199/article/details/106546967

龙生   19 Apr 2022
View Details

C# object to xml

  from:https://blog.csdn.net/justgono/article/details/45887619

龙生   19 Apr 2022
View Details

C# XML序列号 去除命名空间和xml头

去除命名空间:

  此外,在评论中还提到了去除开头的<?xml version="1.0" encoding="utf-8"?>的方法:

  另外,如果出现开头没有encoding="utf-8"时,应该使用:

  参考文献: 1.在XML序列化时去除默认命名空间xmlns:xsd和xmlns:xsi from:https://www.swack.cn/wiki/001559619644599d7563755fc544a19aebbb4eaf0dcb274000/0015889968933656748bbc3214e4f04a714c163b9227520000

龙生   19 Apr 2022
View Details

Asp.Net中WebService的定向开发

背景 工作中遇到一个需求,客户要求按照他们指定的入参和出参开发一套WebService接口。 出入参不能有丝毫的出入,以方便他们的业务系统调用。 目标已明确,我们看看入参和出参(为了保护客户的商业机密,出入参都是虚构的): 入参

  出参(正常)

  出参(错误)

出入参看上去都挺简单的,开工吧~   项目创建   添加Web服务 项目框架   SoapUI获取的请求模板如图   去掉上一步的前缀   入参XML节点配置   出参根节点配置 出参列表节点名称配置 出参XML节点名称完整配置   最终效果:与客户要求入参出参完全一致   异常出参需要用HttpModule自定义输出 定义HttpModule   异常输出方法 异常测试,效果哪下图 忘了说,HttpModule要在web.config里注册一下   完整代码下载>>

龙生   15 Apr 2022
View Details

EF查询视图返回重复数据的问题

在特殊的情况下查询过滤视图 会出现重复的数据结果集(返回的多条数据结果一致)。 原因是啥:主键 在数据库设计的理念中:每个表都应该的唯一的主键。但视图不同,EF中会自动按视图的最前几个非空型字段设置为主键。 如果在某些特殊的查询情况下。前几列数据一致时,EF就会返回重复数据。 解决方案: 1. 在使用的视图后 加入 AsNoTracking 阻止EF缓存数据集。(EF会依据主键建立数据缓存,实现后续的级联操作)。 2. 修改视图列顺序,将能区分内容的列放入最前列中,并保证为非空类型。   建议使用第二方案。   from:https://www.cnblogs.com/shikyoh/p/8794541.html

龙生   13 Apr 2022
View Details

C# netcore 开发WebService(Soap)

在NetCore时代开发WebService和FrameWork时代差别有一点儿大,毕竟NetCore是跨平台的一个框架,不过使用起来也得很简单,下面我就使用Visual Studio2019开发一个示例服务程序。你依然要注意我这个我写的这个demo是soap1.2。在开发前你必须清楚这一点,因为有很多时候SOAP1.1和SOAP1.2 并不通用。至于soap1.1我暂时不用netcore写示例了。 下面是开发详细过程: (1)创建新项目,选择ASP.NET Core Web应用程序 ,如下图 (2)配置新项目,为自己的项目起个名字,然后点击下一步,如下图 (3)进入模板选择页面,选择空,如下图 (4)项目建立好后需要我们通过NuGet引用开发依赖包  SoapCore,如下图一样添加引用。 (5)这时我们新一个类用于示例的返回和接受参数,类名StudentModel 代码如下:

  (6)添加接口约束IContract,我们和framework下保持一致,实现两个方法,Get和Add代码如下:

  (7)添加服务实现类StudentService,来实现我们的约定服务接口。代码如下:

  (8)在netcore中添加注入,这个想必不会陌生吧,现在netcore的注入已经很普遍了,修改 Startup.cs类中的ConfigureServices方法,添加代码如下:

  (9)添加服务发布接口地址,修改Startup.cs类中的Configure方法,在最后修改UseEndpoints这一部分代码如下:

  (10)点击Visual Studio2019上的运行按钮,此时便可以在浏览器里预览了。直接运行看到的页面是错误的地址,需要手动改一下地址如下:https://localhost:44376/StudentService.asmx,添加后半部分StudentService.asmx。我们便可以看到正常的返回了,如下图: 至此我们已经完成了一个简单的WebService,这个服务实现两个接口,一个Get 一个Add方法。 可以下载我示例源码百度网盘链接:https://pan.baidu.com/s/1wCXaGyThXTuS04aupJFsbg 查看提取码请先点击下方的捐赠按钮。 原创作品 相关文章:C# net framework 开发WebService(Soap)   from:https://lebang2020.cn/details/210110njneqn2f.html

龙生   08 Apr 2022
View Details

关于C# webservices 返回的soap节点标签会包含方法名+result的修改

关于C# webservices 返回的soap节点标签会包含方法名+result的修改 有时候做项目的时候需要用到webservices与其他系统进行交互,但是当使用asp.net开发webservice的时候,webservices返回数据的xml节点标签会默认带 方法名+result 如下图: 这样的返回方式不利于客户端进行解析 我们可以在方法头添加属性: 这样返回的数据就会变化   from:https://blog.csdn.net/qq_40099189/article/details/107120068

龙生   08 Apr 2022
View Details

C#读取带命名空间的xml

首先带有命名空间的xml读取可以使用Xml.Linq,也可以使用xpath,本文将采用xpath的方式解析。 原文参考了:https://www.cnblogs.com/duanjt/p/5440540.html 同时参考了:https://www.cnblogs.com/shixudong/p/4056400.html   首先带有命名空间的xml如下:

  解析如上的xml,就涉及到两个类,XmlNamespaceManager和XmlDocument。XmlDocument用于解析xml,而XmlNamespaceManager则是和命名空间相关的类。 如上的xml,如果我们想要获取到吕姗姗和ID_1的true怎么实现呢,代码如下:

  from:https://www.cnblogs.com/duanjt/p/11654173.html

龙生   30 Mar 2022
View Details