谁有用C#开发的工具?
1Excle神器NPOI
NPOI 是 POI 项目的 NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。NPOI让NET平台拥有了一个比较完善的读写Excel的工具。使用量非常广泛,应该是开源的NET Excel读写工具中曝光度最高的一个吧,没有之一。
使用NPOI的优势有:完全免费使用,包含了大部分EXCEL的特性(单元格样式、数据格式、公式等等),支持处理的文件格式包括xls, xlsx, docx采用面向接口的设计架构( 可以查看 NPOISS 的命名空间),同时支持文件的导入和导出,你不需要在服务器上安装微软的Office,可以避免版权问题。使用起来比Office PIA的API更加方便,更人性化。那么还等什么呢?下面就是我第一次使用NPOI做的一个日报表工具,里面的单元格合并都是在程序中动态完成的,过程很艰辛,但结果很美好,目前已经使用了2年,稳定无bug,非常给力啊。
官方网站:http://npoicodeplexcom/
https://githubcom/tonyqus/npoi
官方教程:http://wwwnpoiinfo/
2NPOI扩展—NPOICSS
NPOICSS是一个可以在使用NPOI时用类CSS的方法设置单元格样式的NPOI扩展,只支持NET4及以上版本的项目。这个扩展是为了方便在使用的时候设置单元格及其相关格式样式,可以使用类似Css的方式,非常给力。看看下面的代码:
1
cellCSS("color:red;font-weight:bold;font-size:11;font-name:宋体;border-type:thin;")
官方网站:https://githubcom/qihangnet/npoicss
3yjingleeoffice
yjingleeoffice用于Net平台下的Excel操作,主要封装NPOI对外提供更简单实用的API,提供以下功能点:
1读取Excel数据转换成对象集合
2写入集合到Excel,并提供可以Excel样式定义
看看一段读取Excel的代码:
1
2
3
4
5
6
7
8
9
10
var Reports = new Collection();
for (var i = 0; i < 10; i++)
{
ReportsAdd(new Report {Id = i100, Name = GuidNewGuid()ToString()});
}
var excel = new Excel(new DefaultStyle());//创建Excel实例,可以传递不同的样式实例
excelCreateSheet("Test");//创建一个Sheet,命名为Test
excelWriteObject(Reports, 0, 0);//在Sheet0中的第0行写入集合
excelSetColumnWidth(0, 0, new [] {5, 35});//在Sheet0的第0列开始依次设置列宽
excelWriteFile(PathCombine(AppDomainCurrentDomainSetupInformationApplicationBase, "demoxlsx"));//保存文件
4ExcelReport报表引擎
ExcelReport是一款基于NPOI开发的报表引擎组件。它基于关注点分离的理念,将数据与样式、格式分离。让模板承载样式、格式等NPOI不怎么擅长且实现繁琐的信息,结合NPOI对数据的处理的优点将Excel报表的生成化繁为简。同时,对报表组成的基本元素进行了抽象,进一步简化了Excel报表的生成过程。
官方网站:https://githubcom/hanzhaoxin/ExcelReport
介绍文章:http://wwwcnblogscom/hanzhaoxin/p/4472860html
5Epplus
Epplus是一个使用Open Office XML(Xlsx)文件格式,读写Excel 2007/2010文件的开源组件。和NPOI相比,它更早的支持了Xlsx格式,而NPOI支持Excel 2003更好,现在新版本的NPOI也开始支持Xlsx了。所以他们两个还是有一点区别的。Epplus我没用过,但很早就听说了,也是使用非常官方的一个,目前也一直在更新。看大家的使用需求了。可以尝试一下。支持的范围也很广,例如:单元格合并,单元格样式,图表(这个NPOI目前还不是很好),表格,数据验证,公式,VBA等等。
官方网站:http://eppluscodeplexcom/
6LinqToExcel
LinqToExcel是一个NET平台下开源项目,它主要实现了LINQ的语法查询Excel电子表格。类型之前的LINQToXXX如果你是LINQ语法糖爱好者那最适合你。例如,下面代码,查询电子表格的头:
1
2
3
4
var excel = new ExcelQueryFactory("excelFileName");
var indianaCompanies = from c in excelWorksheet<Company>()
where cState == "IN"
select c;
官方网站:https://githubcom/paulyoder/
7NetOffice组件
NetOffice组件比较特别,是一个操作Office的强大组件,包括处理Office, Excel, Word, Outlook, PowerPoint, Access, Project, Visio等,所以支持非常全面。但是这个组件并不是完全单独写的,而是调用Microsoft Office的互操作程序集以及VSTO,也就是进行了一个深度的封装,从而让你不需要安装这些东西,只需要拷贝相应的程序集就可以了。目前一共包括16个操作的程序集。根据你的需要可以选择相应的程序集。它有几个优点:
1没有Office的版本限制;
2支持Office2000,2003,2007,2010,2013版本,就是支持全部Office的版本,足够强大;
3支持版本之间的独立开发
4操作语法和Microsoft的互操作程序集的语法是一样的;因此更加易于学习和使用;
5如果你熟悉Office对象模型,你可以使用你现有的PIA代码,不需要重新学习;
6优化了一些COM操作的代码
7可以在NET20及以上环境使用;
8部署方便,不需要注册,没有依赖的程序集
其他的功能看官方文件介绍,如果有空,大家对这个需求强烈,可以写文章专门介绍。
官方网站:http://netofficecodeplexcom/
8Word文档读写工具Docx
DocX是一个以非常直观简单的方式操作Word 2007/2010文件的轻量级NET组件。它的速度非常快,而且不需要安装微软的Office软件。在中国,免费并且小巧的WPS有足够的理由让很多用户放弃庞大的Office,那在实际软件开发过程中,这玩意就有用处了。遗憾是不支持2003,但总归是被淘汰的趋势,而且用WPS,也没有啥版本的区别。目前支持在文件中插入、删除和替代文本,支持所有的文本格式,如字体,下划线,高亮等;支持插入、超链接、表格、页眉页脚以及自定义属性等;支持类似JQuery的链式写法,很方便编程开发。
相比Excel来说,开源的操作Doc文档的组件比较少,这个组件只能勉强满足一些基本功能吧。遇到一些高级的,坑还是很多。但总的来说,常规支持是第一步吧,该项目目前也在更新中,期待更加完善。我在2013年曾经写过一篇介绍基本使用的文章:原创开源Word读写组件DocX介绍与入门
官方网站:http://docxcodeplexcom/
9PDF处理组件PDFsharp
生成PDF文件格式的文档,大家肯定有想过,很多人项目中也肯定用过,方法、组件肯定有很多。但是NET平台开源免费的不多,最好用的应该是ItextPDF,不过人家是非商业免费,所以我们就排除在外吧。看看免费的,这个PDFSharp是目前比较完善,而且还在持续更新的。支持功能有:
可以使用NET编程语言动态创建PDF文档,
很容易使用对象模型来构建文档,
全部用C#重写设计和编写代码,
可以生成PDF文件和显示在窗体或者打印,
使用同一源文件,可以修改、合并或者分割PDF文件,
可以控制的透明度,嵌入了字体等等。支持总体算全面吧,不过没有亲自测试过。
官方网站:http://wwwpdfsharpnet/
10MigraDoc文档生成器
MigraDoc是一个NET平台开源的文档生成器,几乎支持所有的文字处理功能。你只需要添加段落,表格,或者图表到节中,使用书签来创建链接,表格内容,索引等等。MigraDoc会自动进行分页和布局,可以生成PDF,XPS以及RTF文档格式。总的来说,是一个更简单类型的通用文档生成工具。它的官方网站和PDFsharp是一起的,目前也是在更新中。
官方网站:http://wwwpdfsharpnet/
11PdfReport报表工具
PdfReport 是一个支持code-first的报表引擎,建立在开源项目iTextSharp和 EPPlus基础上。支持net 35以上,看看项目的一个:
官方网站:http://pdfreportcodeplexcom/
12文件差异比较diffplex
diffplex是一个开源的C#文本差异比较软件。支持NET 40, Silverlight 50, Windows 80, Windows Phone 80, Windows Phone Appx 81等环境。如下图所示:
官方网站:https://githubcom/mmanela/diffplex
13ReportGenerator
ReportGenerator可以将OpenCover, PartCover, Visual Studio 或者NCover生成的XML报表转换为可读性更加好的格式。上面这几个工具都是代码覆盖率分析工具。转换后的报表有以下格式:
1HTML, HTMLSummary
2XML, XMLSummary
3Latex, LatexSummary
4TextSummary
5Custom reports
该组件目前一直在持续进行更新,对于专门做测试方面的人应该有些帮助,曾经也看到过文章使用这个组件来展示分析后的报表,不过不太懂,不去深究。
官方网站:https://githubcom/danielpalme/ReportGenerator
14BusyReports
BusyReports是一个非常方便的从SSRS Web 服务生成报表的应用程序。BusyReports提供了一个GUI界面,可以方便配置报表参数,电子邮件,文件路径等。这些配置信息存储在4个易于编辑的表格中。该组件与SQL Server数据驱动订阅类似,但删除了其中一些限制。该组件目前一直在更新。看下面的 GUI 配置界面:
官方网站:http://busyreportscodeplexcom/
15Seal Report
Seal Report应该是上面这几个之中最好用,最常用的一个。它提供了一个完整的从其他任何数据库产生报表的架构。该产品主要关注于容易安装和报表设计,一旦安装好,报表很快就可以建立并且发布。该组件完全开源,使用C#语言编写。其主要特征有,1动态SQL数据源:可以使用SQL或让Seal引擎构建动态SQL用于查询数据库,2本地数据透视表:直接在数据透视表简单的拖放元素,并将它们显示在报表中,还支持HTML5图表等,详细去官网看看,下面看2张报表设计和报表结果的截图:
报表结果:
官方网站:http://sealreportcodeplexcom/
一、Report Server数据库:
是一个SQL Server数据库。它能够存储SSRS配置部分,报告定义,报告元数据,报告历史,缓存政策,快照,资源,安全设置,加密的数据,调度和提交数据,以及扩展信息。
注意事项:尽管用户能够直接存取在SSRS目录下的数据库并且能够直接修改SSRS使用的对象;但在实践中,不推荐(或不支持)这样做,因为在SSRS目录下的内在数据和结构不能被保证与不同版本的SSRS、服务包或补丁相兼容。
需要把Report Server数据库当作产品数据库之一来对待。尽管许多开发人员都习惯把RDL存储在一个单独的仓库中,并因此导致经常恢复RDL。但是,损失快照数据能够带来消极的业务影响。
例如,用户可能使用快照的报告"相对静止"数据的能力来作一些业务决定。
二、ReportServerTempDB数据库:
是SSRS使用的临时数据库。这个数据库负责存储中间处理结果,例如报表服务器生成的会话和执行数据、缓存报表以及工作表。
正常情况下,Report Server能够周期性地清ReportServerTempDB中的到期的和孤立的数据。后台进程定期清理时间间隔由参数CleanupCycleMinutes控制,这个参数位于
<Installation Drive>\<Program Files or Program Files(x86)>\Microsoft SQL Server\<SSRS
Instance>\Reporting Services\ReportServer 下的rsreportserverconfig配置文件中。
扩展资料
ReportServer数据库代码:
1,exec sp_reset_connection
2,exec GetMyRunningJobs @ComputerName=N'WAXDOLL',@JobType=0
3,exec sp_reset_connection
4,exec ObjectExists @Path=N'/Test1/TestReport',@AuthType=1
5,exec ObjectExists @Path=N'/Test1',@AuthType=1
这段T-SQL语句的作用就是调用ReportServer数据库中的存储过程完成报表的部署工作,分析如下:
第1行sp_reset_connection多次出现,这是SQL Server的一个系统存储过程,查不到相关文档,不过不用去管它,知道它是SQL Server用于在重新使用连接之前重置该连接的选项和设置就可以了;
第2行的存储过程GetMyRunningJobs用于获取当前用户正在运行的任务,该存储过程其实只有一个SELECT操作,可能用于返回某种标志,但不会对部署报表产生绝对影响,实在不行可以在客户端等待当前任务运行完成或直接Kill掉;
第4行的存储过程ObjectExists分别用于判断报表/Test1/TestReport是否存在,并返回下面语句中需要用到的变量@SnapshotDataID的值;
第5行的存储过程ObjectExists分别用于判断文件夹/Test1是否存在,并返回下面语句中需要用到的变量@ParentID的值;
参考资料:
一、SQL2005的查询分析器已经不存在了,它被集成到了SSMS中,它除了数据库引擎,还可以选择安装 SSAS SSRS SSMS SSIS等,直接新建查询即可。
二、选择上方的数据库即可。
三、SQL Server 2005相对于SQL Server 2000改进很大,有些还是非常实用的。
TOP 表达式 SQL Server 2000的TOP是个固定值,是不是觉得不爽,现在改进了。
分页不知各位过去用SQL Server 2000是怎么分页的,大多都用到了临时表。SQL Server 2005一句话就支持分页,性能据说也非常不错。
排名。
try catch SQL Server 2000没有异常,T-SQL必须逐行检查错误代码,对于习惯了try catch程序员,2005是不是更加亲切。
通用表达式CTE 通过表达式可免除你过去创建临时表的麻烦。
直接发布Web Service 想要把store procedure变成Web Service就用这个吧,NET, IIS都不需要,通过Windows 2003的HTTP Protocol Stack直接发布WebService,用这个功能需要Windows 2003 sp1。
一、sql server 2005
1、sql server 2005是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了。
2、Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应SQL Server安装界面用。
二、企业数据管理
1、高可用性
SQL Server 2005的失败转移集群和数据库镜像技术确保企业向员工、客户和合作伙伴提交高度可靠和可用的应用系统。
2、管理工具
SQL Server 2005引进了一套集成的管理工具和管理应用编程接口(APIs),以提供易用性、可管理性、及对大型SQL Server配置的支持。
3、安全性增强
SQL Server 2005旨在通过数据库加密、更加安全的默认设置、加强的密码政策和细化许可控制、及加强的安全模型等特性,为企业数据提供最高级别的安全性。
4、可伸缩性
SQL Server 2005可伸缩性的先进性包括表格分区、复制能力的增强和64位支持。
三、开发人员生产力
1、Common Language Runtime (CLR)集成
SQL Server 2005引入了使用Microsoft NET 语言来开发数据库目标的性能。
2、深入的XML集成
SQL Server 2005提供一种新的XML数据类型,使在SQL Server数据库中存储XML片段或文件成为可能。
3、Transact-SQL增强
新的查询类型和在交易过程中使用错误处理的功能,为开发人员在SQL Server查询开发方面提供了更高的灵活性和控制力。
4、SQL 服务代理
SQL服务代理为各个级别的可伸缩性提供一种创新的、分发的、异步的应用系统体系结构。
四、商务智能
1、分析服务
分析服务对数据仓库、商务智能和line-of-business解决方案的可伸缩性、可管理性、可靠性、可用性和可规划性提供扩展。
2、数据转换服务(DTS)
对DTS结构合工具的全部重新设计为开发人员和数据库管理员提供了增强的灵活性和可管理性。
3、报表服务
报表服务是一种新的报表服务器和工具箱,用于创建、管理和配置企业报告。
4、数据挖掘
数据挖掘的功能得以增强,主要归功于四种新的运算法则、改进的数据模型和处理工具。
0条评论