All posts by 龙生
POI、NPOI中用SXSSFWorkbook工作簿写入大量数据
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
string filePath = Server.MapPath("/test.xlsx"); FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite); XSSFWorkbook workbook1 = new XSSFWorkbook(); SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook(workbook1, 100); var first = sxssfWorkbook.CreateSheet("MySheet"); for (int i = 0; i < 1000000; i++) { var row = first.CreateRow(i); for (int j = 0; j < 11; j++) { if (i == 0) { // 首行 row.CreateCell(j).SetCellValue("column" + j); } else { // 数据 if (j == 0) { row.CreateCell(j).SetCellValue(i.ToString()); } else { row.CreateCell(j).SetCellValue(new Random().Next().ToString()); } } } } sxssfWorkbook.Write(fs); fs.Close(); fs.Dispose(); |
View Details
代码规范审查 – Sonar集成Visual Studio
开发人员可以使用Sonar的集成插件在开发阶段进行实时代码质量审核,在代码编写阶段分析出当前代码的质量及规范漏洞,并给出合理的修改建议。编写高质量、高维护性的代码变得更简单! VS集成Sonar之前 集成sonar之前,项目显示没有任何警告及错误。开发人员只能保证代码无错误,却无法分析出代码的隐患及不规范性。 Sonar集成 打开VS2015,通过工具(T)-> 扩展与更新(U)打开扩展安装包界面 在扩展和更新界面中左侧选择联机,通过安装包搜索框输入Sonar,在查询出的列表中选择SonarLint for Visual Stuido 2015, 点击下载进行安装 安装完毕之后,重启vs,将需要分析的项目加入到snoarlint实时分析列表中 此时sonar实时分析已经开始工作,在警告列表中出现了分析结果并包含错误原因分析 Sonar还包含了修改建议,通过双击警告项,将定位到具体有问题的代码段,将鼠标移至问题代码段,出现sonar的修改建议,跟随提示更改代码即可 from:http://www.cnblogs.com/jingridong/p/6593135.html
View Details代码规范审查 – Sonar分析项目
Sonar搭建成功之后,就可以通过简单的CMD指令进行项目分析,此篇主要介绍使用Sonar来分析.net项目。 扫描步骤: a. 打开CMD,切换到指定的项目根目录,和.sln同级目录即可(此处以一个wpf示例项目为例) b. 使用msbuild方式通过Sonar scanner扫描代码 CMD命令下运行:SonarQube.Scanner.MSBuild.exe begin /k:"project 1" /n:"Test WPF" /v:"1.0" 注 :SonarQube.Scanner.MSBuilder.exe找不到,运行的时候需要固定到Snoar\sonar-scanner-msbuild-2.2.0.24目录下进行运行 参数说明: /K:Key -对应projectKey即项目的唯一代码,如两套源代码使用同一个projectKey那扫描的结果将混在一起,所以一个项目需要有一个单独的projectKey /n:Name: 对应projectName即项目的名称 /v:Version -对应projectVersion即项目的版本 c. 通过msbuild编译项目 CMD命令下运行:MSBuild.exe /t:Rebuild 注 : MSBuild.exe需要加入到系统路径中,将C:\Program Files (x86)\MSBuild\14.0\Bin和C:\Program Files (x86)\MSBuild\14.0\Bin\amd64将入到系统路径中 d. Scanner分析扫描结果 CMD命令下运行:SonarQube.Scanner.MSBuild.exe end 注 : 1. 如果运行出现错误请检查sonar server的log,路径为Snoar\sonarqube-6.2\logs下的sonar.log,web.log和access.log。 2. 如果遇到需要检测比较大的项目,可能上传的mysql数据量会很大,会超出默认的mysql上传的最大值,此时需要设置mysql的max_allowed_packet。 e. 通过浏览器查看分析结果 浏览器中输入http://localhost:9000/dashboard/index/project_1 代码质量结果一目了然,下面就可以分析代码及分配指定人员进行修复 f. 分析问题(举例点击bugs展开所有bugs列表) 整个分析过程简单便捷,项目开发阶段可定期分析结果进行质量审查和把关,现在就去用到你的项目上吧! from:http://www.cnblogs.com/jingridong/p/6513884.html
View Details代码规范审查 -Sonar环境搭建
Sonar概述 Sonar 是一个用于代码质量管理的开放平台,可以进行代码质量的持续跟踪审查,支持的语言包含C#、java、PHP、C等。可以通过UI一睹Sonar的强大之处。 Sonar安装 Sonar是一个基于java的开源平台,环境安装包含JDK安装、数据库安装、Sonar Server安装、Sonar Runner安装。 一、JDK安装 下载java SDK ,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装java sdk,直接双击exe进行运行 验证java安装是否成功,打开命令行,运行java –version, 如果显示如下图,代表安装成功! 二、数据库安装 Sonar支持数据库类型:Sql server、MySQL、Oracle,此处以MySql为例 Mysql数据库下载地址:https://www.mysql.com/downloads/, 具体安装步骤省略可自行学习。 配置Sonar数据库(创建Sonar数据库、用户等) CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'sonar' IDENTIFIED BY 'sonar'; GRANT ALL ON sonar.* TO 'sonar’@’%' IDENTIFIED BY 'sonar'; GRANT ALL ON sonar.* TO 'sonar’@’localhost' IDENTIFIED BY 'sonar'; FLUSH PRIVILEGES; 三、Sonar server及scanner配置 下载sonar(只需下载解压,无需安装) 下载地址:https://www.sonarqube.org/downloads/ 下载sonar scanner(只需下载解压,无需安装) 下载地址:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner 添加snoar和snoar scanner到环境变量 添加SONAR_HOME、SONAR_RUNNER_HOME环境变量,并将SONAR_RUNNER_HOME加入PATH环境变量参考如下: SONAR_HOME:C:\sonar\sonarqube-6.2 SONAR_RUNNER_HOME:C:\sonar\Sonar-scanner-2.8 PATH:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%SONAR_RUNNER_HOME%/bin;%MAVEN_HOME%\bin; 编辑sonar配置文件,修改如下: 编辑sonar\sonarqube-6.2\conf\sonar.properties文件,配置数据库设置,默认已经提供各类数据库的支持,这里使用mysql,因此取消mysql模块的注释,修改内容如下: 编辑SonarRunner配置文件,修改如下: 编辑Sonar-scanner-2.8\conf\conf\sonar-runner.properties文件,配置数据库设置,默认已经提供各类数据库的支持,这里使用mysql,因此取消mysql模块的注释,修改内容如下: 启动sonarQube服务,从sonarqube-6.2\bin\windows-x86-64目录下双击启动StartSonar.bat,启动成功显示如下: 访问http:\localhost:9000检测是否启动成功 安装中文包 […]
View Details代码规范审查 – 审查分析工具选型
大型项目产品功能庞大、参与人员多、周期较长,造成代码质量和可维护性要求较高。这需要在开发阶段加入定期的代码审核机制,可通过人工code review及代码走查工具来完成。人工Code Review耗时量大,对review人员的审查能力要求高,所以加入代码定期自动化审查就更适合,不过缺点是代码走查是做不到人工review的业务逻辑验证。 C#代码审查工具选型 对于c#代码审查的工具比较多,常见的有FXCop, StyleCop, Sonar。不同工具的优势及使用场景各有不同: FxCop: 微软的代码分析工具,以微软内部的.NET规范为参照,通过分析编译好的dll文件得到错误信息 StyleCop: 微软的代码分析工具,以微软内部的.NET规范为参照,通过代码静态扫描的方式分析源代码 Sonar: 代码质量管理平台,通过MSBuild方式分析代码的不规范及缺陷,并将分析结果直接显示在Web页面上 Fxcop和styleCop属于小工具类,安装方便,在开发阶段对代码的规范有很好的帮助,偏开发人员使用。Sonar属于分析平台类,需要单独搭建服务器进行分析的结果的保存及展示,偏测试及管理人员使用。所以项目进行过程中可搭配使用,开发人员可选择Fxcop或styleCop小工具进行代码的自我质量把控,项目管理人员可通过Sonar来进行质量管理的分析及分配。 接下来几篇将重点介绍Sonar的搭建和使用,对于FxCop和StyleCop使用比较简便,可自行学习使用。 from:http://www.cnblogs.com/jingridong/p/6489003.html
View Details解决MSB3247 不同版本的同一依赖程序集之间出现冲突
打开选项对话框( 工具 – >选项… ). 在左侧树中,选择 项目和解决方案 节点,然后选择 生成和运行 . 注意:如果此节点没有显示出来,请确保在对话框 显示所有设置 底部的复选框被选中. 在出现的工具/选项页中,设置 MSBuild项目生成输出的详细程度 水平 详细 (假设你是在VS2010中, 正常 将在VS2008或以上即可). 生成项目。 在生成窗口中查找关键字 ResolveAssemblyReferences,快速定位错误源。 from:https://blog.csdn.net/gaoxu529/article/details/41009089
View DetailsC# 代码规范和质量检查工具 StyleCop.Analyzers
简介 原来一直用 ReSharper 来进行代码质量检查,不过毕竟是收费的,所以想找个免费的可以推广给公司的同事也一起用。搜索了一下,找到了StyleCop,但是我在 VS 2015里安装 StyleCop 或者通过 Nuget 包安装 StyleCop.MSBuild,虽然编译以后能把 warning 显示在 Error List 中,但是无法通过 项目—右键 配置 StyleCop 的规则,最终在找到了一个 StyleCopAnalyzers 也算是 StyleCop 的新版本吧。 主要使用了 Visual Studio 2015’s Roslyn 分析工具,带来了以下的好处: 可以支持 C# 6 使用 Roslyn 解析器,减少了自定义解析器的性能消耗 当你写代码的时候解析器就会运行,当你编译的时候也会运行(不需要再设置 msbuild 任务或者安装任何 vs 插件) 安装 安装的话比较简单,在项目里管理 NuGet 包,输入 StyleCop.Analyzers 然后安装就可以了 安装完成就直接可以看到效果了,StyleCop.Analyzers 会像 ReSharper 那样在你写代码的时候就提示错误,而不用编译以后才发现错误了。 不过编译以后还是会把所有的错误提示显示出来 配置自定义规则 在上面的图片里,可以看到我的项目一共有32个 StyleCop 警告,下面我们就把 SA1652 警告去除。 找到引用里得 Analyzer,右键点击 Open Active Rule Set,就可以打开规则表 然后找到 StyleCop.Analyzers 的规则 SA1652,取消勾选,然后保存。 最终会在项目里生成一个 .ruleset 后缀的文件就是我们的自定义规则。 编译以后查看效果,就会发现前面提示的 SA1652 的警告已经没有了。 from:https://blog.csdn.net/xiaoxiao520c/article/details/76585609
View Details解决javax.servlet.jsp.JspException cannot be resolved to a type
使用eclipse-juno新建的maven项目,使用过程中无任何问题,但是换了eclipse-luna版本后,导入同样的maven项目,则报javax.servlet.jsp.JspException cannot be resolved to a type错误;这可能是新版本eclipse的bug导致。 在网上找的解决方案是在你的项目中加入jsp-api.jar和servlet-api.jar包,这两个包来源于tomcat的libs目录中,但是会出现一个问题,项目打包发布的时候也会将这两个jar打包出去,这时候发布到tomcat中后tomcat可能启动失败,同时你的jar包可能和tomcat中的jar版本不一致等情况。 解决方式:右键你的项目--properties选择Targeted Runtimes,选择你的运行环境,我选择Apache Tomcat v7.0,Apply--OK。 from:https://www.cnblogs.com/sharpest/p/6017983.html
View Detailswin10怎么把windows defender永久关闭
1.运行“gpedit.msc”(win键 + R键)。 2.展开计算机配置下的“管理模板”,选择“windows组件”。 3.找到“Windows Defender 防病毒程序”。 4.找到并且双击“关闭Windows Defender 防病毒程序”。 5.选择“已启用”,确定即可! from:https://zhidao.baidu.com/question/1673371693997231947.html
View Details国内 Top 开源项目深度解读
最受欢迎的国产开源项目都是什么模样?选用什么开源协议?使用哪种语言?实现了什么功能? 我们选取了码云 Gitee.com 平台 144 个优质开源项目,为你深入剖析国内 Top 开源项目。 (项目选取标准:入选 GVP——码云年度最有价值开源项目计划,或获得超过 1000 个 star。) 1.开源协议(license)分布——宽松型是首选 1.1 宽松式协议是首选,Apache-2.0 占比 45.14% Apache-2.0 是码云Gitee 上开源作者的首选,占到了 45.14%,JFinal 、t-io、iBase4J 等正是采用此协议。另一个则是 MIT,占比 17.36%,zheng、layui 等正是此类代表。 宽松式协议允许用户任意使用软件,从而确保大家能从软件中得到最多的利益。 Apache-2.0 是宽松式协议(permissive license)的代表,它还包含了贡献者向用户提供专利授权相关的条款,使用 Apache-2.0 的知名软件有 Android、 Apache、Swift 等。 MIT 协议几乎对用户没有什么限制,只要保留版权声明和许可声明且不要求开发者承担责任,这也成为其深受欢迎的重要原因,国际上使用 MIT 协议的知名软件有 JQuery、.NET Core 、Rails 等。 1.2 限制式协议 LGPL、GPL、AGPL 紧随其后 LGPL、GPL、AGPL 这三项协议的采用占比为 2.78%、8.35%、1.39%,它们的限制性由弱到强,分别规定: 如果项目采用动态链接调用 LGPL 许可协议的库,项目可以不用开源; 如果项目包含了 GPL 协议的代码,那么整个项目都必须使用 GPL 许可协议; 如果云服务(即 SAAS)用到的代码是 AGPL 许可协议,那么云服务的代码也必须开源。 限制式协议的初衷是帮助开源项目获得成功,从条款上进行了详细的限制,防止部分开发者修改代码却不回馈社区的情况。但凡事皆有两面,高复杂性的许可协议,不仅限制了他人,也会限制作者自身,或许这种风险正是从限制式协议到宽松式协议转变的原因。 1.3 对开源许可协议的认知和应用有待提升 在参与统计的 144 个 Top 开源项目中,未选择开源协议的项目占到了 24.31%;在码云推荐过的 7000 多个开源项目中,未选择开源协议的占比 43.95% ;而在码云上所有的开源项目中,这一数据扩大到了 77.12% 。 规则与约束是实现真正自由的前提,开源崇尚“自由、开放、分享”,更需要大家自觉遵守规则,才能实现更高的效率。 码云在此呼吁广大开源作者善用开源协议,让开源项目的发展更加规范和健康,关于如何选择开源协议,可以参考这里。 2.编程语言分布——Java 一骑绝尘 2.1 Java 类项目占据半壁江山,高达 65.73% Java 类编程语言在 Top 开源项目中可以说遥遥领先,占到 65.73%。包括了 guns、nutz、jeecg 等优质的开源项目,此类框架式的项目受到了众多开发者的喜爱。 Java 到 2018 年已经有 22 年的历史了,它在实用性、性能、向后兼容性以及跨平台性等方面都有着优秀的表现,在技术快速更迭的今天,往后的十年甚至二十年 Java 是否能一直保持这种优势呢?让我们拭目以待。 2.2 PHP […]
View Details