本文目录一览:
- 1、谁有用C#开发的工具?
- 2、请问哪位朋友有韩版《花样男子》的插曲,由ss501主唱的《我的脑子坏了》的音频?谢谢
- 3、c#用NPOI2.1在docx页眉中增加图片
- 4、请教:java从数据库获取数据导出docx,有多个表格,请问怎么导出?
- 5、提高效率的办公软件有哪些
谁有用C#开发的工具?
1.Excle神器NPOI
NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。NPOI让.NET平台拥有了一个比较完善的读写Excel的工具。使用量非常广泛,应该是开源的.NET Excel读写工具中曝光度最高的一个吧,没有之一。
使用NPOI的优势有:完全免费使用,包含了大部分EXCEL的特性(单元格样式、数据格式、公式等等),支持处理的文件格式包括xls, xlsx, docx.采用面向接口的设计架构( 可以查看 NPOI.SS 的命名空间),同时支持文件的导入和导出,你不需要在服务器上安装微软的Office,可以避免版权问题。使用起来比Office PIA的API更加方便,更人性化。那么还等什么呢?下面就是我第一次使用NPOI做的一个日报表工具,里面的单元格合并都是在程序中动态完成的,过程很艰辛,但结果很美好,目前已经使用了2年,稳定无bug,非常给力啊。
官方网站:
官方教程:
2.NPOI扩展—NPOI.CSS
NPOI.CSS是一个可以在使用NPOI时用类CSS的方法设置单元格样式的NPOI扩展,只支持.NET4及以上版本的项目。这个扩展是为了方便在使用的时候设置单元格及其相关格式样式,可以使用类似Css的方式,非常给力。看看下面的代码:
1
cell.CSS("color:red;font-weight:bold;font-size:11;font-name:宋体;border-type:thin;")
官方网站:
3.yjinglee.office
yjinglee.office用于.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++)
{
Reports.Add(new Report {Id = i*100, Name = Guid.NewGuid().ToString()});
}
var excel = new Excel(new DefaultStyle());//创建Excel实例,可以传递不同的样式实例
excel.CreateSheet("Test");//创建一个Sheet,命名为Test
excel.WriteObject(Reports, 0, 0);//在Sheet0中的第0行写入集合
excel.SetColumnWidth(0, 0, new [] {5, 35});//在Sheet0的第0列开始依次设置列宽
excel.WriteFile(Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "demo.xlsx"));//保存文件
4.ExcelReport报表引擎
ExcelReport是一款基于NPOI开发的报表引擎组件。它基于关注点分离的理念,将数据与样式、格式分离。让模板承载样式、格式等NPOI不怎么擅长且实现繁琐的信息,结合NPOI对数据的处理的优点将Excel报表的生成化繁为简。同时,对报表组成的基本元素进行了抽象,进一步简化了Excel报表的生成过程。
官方网站:
介绍文章:
5.Epplus
Epplus是一个使用Open Office XML(Xlsx)文件格式,读写Excel 2007/2010文件的开源组件。和NPOI相比,它更早的支持了Xlsx格式,而NPOI支持Excel 2003更好,现在新版本的NPOI也开始支持Xlsx了。所以他们两个还是有一点区别的。Epplus我没用过,但很早就听说了,也是使用非常官方的一个,目前也一直在更新。看大家的使用需求了。可以尝试一下。支持的范围也很广,例如:单元格合并,单元格样式,图表(这个NPOI目前还不是很好),表格,数据验证,公式,VBA等等。
官方网站:
6.LinqToExcel
LinqToExcel是一个.NET平台下开源项目,它主要实现了LINQ的语法查询Excel电子表格。类型之前的LINQToXXX如果你是LINQ语法糖爱好者那最适合你。例如,下面代码,查询电子表格的头:
1
2
3
4
var excel = new ExcelQueryFactory("excelFileName");
var indianaCompanies = from c in excel.WorksheetCompany()
where c.State == "IN"
select c;
官方网站:
7.NetOffice组件
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.可以在.NET2.0及以上环境使用;
8.部署方便,不需要注册,没有依赖的程序集
其他的功能看官方文件介绍,如果有空,大家对这个需求强烈,可以写文章专门介绍。
官方网站:
8.Word文档读写工具Docx
DocX是一个以非常直观简单的方式操作Word 2007/2010文件的轻量级.NET组件。它的速度非常快,而且不需要安装微软的Office软件。在中国,免费并且小巧的WPS有足够的理由让很多用户放弃庞大的Office,那在实际软件开发过程中,这玩意就有用处了。遗憾是不支持2003,但总归是被淘汰的趋势,而且用WPS,也没有啥版本的区别。目前支持在文件中插入、删除和替代文本,支持所有的文本格式,如字体,下划线,高亮等;支持插入图片、超链接、表格、页眉页脚以及自定义属性等;支持类似JQuery的链式写法,很方便编程开发。
相比Excel来说,开源的操作Doc文档的组件比较少,这个组件只能勉强满足一些基本功能吧。遇到一些高级的,坑还是很多。但总的来说,常规支持是第一步吧,该项目目前也在更新中,期待更加完善。我在2013年曾经写过一篇介绍基本使用的文章:【原创】开源Word读写组件DocX介绍与入门
官方网站:
9.PDF处理组件PDFsharp
生成PDF文件格式的文档,大家肯定有想过,很多人项目中也肯定用过,方法、组件肯定有很多。但是.NET平台开源免费的不多,最好用的应该是ItextPDF,不过人家是非商业免费,所以我们就排除在外吧。看看免费的,这个PDFSharp是目前比较完善,而且还在持续更新的。支持功能有:
可以使用.NET编程语言动态创建PDF文档,
很容易使用对象模型来构建文档,
全部用C#重写设计和编写代码,
可以生成PDF文件和显示在窗体或者打印,
使用同一源文件,可以修改、合并或者分割PDF文件,
可以控制图片的透明度,嵌入了字体等等。支持总体算全面吧,不过没有亲自测试过。
官方网站:
10.MigraDoc文档生成器
MigraDoc是一个.NET平台开源的文档生成器,几乎支持所有的文字处理功能。你只需要添加段落,表格,或者图表到节中,使用书签来创建链接,表格内容,索引等等。MigraDoc会自动进行分页和布局,可以生成PDF,XPS以及RTF文档格式。总的来说,是一个更简单类型的通用文档生成工具。它的官方网站和PDFsharp是一起的,目前也是在更新中。
官方网站:
11.PdfReport报表工具
PdfReport 是一个支持code-first的报表引擎,建立在开源项目iTextSharp和 EPPlus基础上。支持.net 3.5以上,看看项目的一个图片:
官方网站:
12.文件差异比较diffplex
diffplex是一个开源的C#文本差异比较软件。支持.NET 4.0, Silverlight 5.0, Windows 8.0, Windows Phone 8.0, Windows Phone Appx 8.1等环境。如下图所示:
官方网站:
13.ReportGenerator
ReportGenerator可以将OpenCover, PartCover, Visual Studio 或者NCover生成的XML报表转换为可读性更加好的格式。上面这几个工具都是代码覆盖率分析工具。转换后的报表有以下格式:
1.HTML, HTMLSummary
2.XML, XMLSummary
3.Latex, LatexSummary
4.TextSummary
5.Custom reports
该组件目前一直在持续进行更新,对于专门做测试方面的人应该有些帮助,曾经也看到过文章使用这个组件来展示分析后的报表,不过不太懂,不去深究。
官方网站:
14.BusyReports
BusyReports是一个非常方便的从SSRS Web 服务生成报表的应用程序。BusyReports提供了一个GUI界面,可以方便配置报表参数,电子邮件,文件路径等。这些配置信息存储在4个易于编辑的表格中。该组件与SQL Server数据驱动订阅类似,但删除了其中一些限制。该组件目前一直在更新。看下面的 GUI 配置界面:
官方网站:
15.Seal Report
Seal Report应该是上面这几个之中最好用,最常用的一个。它提供了一个完整的从其他任何数据库产生报表的架构。该产品主要关注于容易安装和报表设计,一旦安装好,报表很快就可以建立并且发布。该组件完全开源,使用C#语言编写。其主要特征有,1.动态SQL数据源:可以使用SQL或让Seal引擎构建动态SQL用于查询数据库,2.本地数据透视表:直接在数据透视表简单的拖放元素,并将它们显示在报表中,还支持HTML5图表等,详细去官网看看,下面看2张报表设计和报表结果的截图:
报表结果:
官方网站:
请问哪位朋友有韩版《花样男子》的插曲,由ss501主唱的《我的脑子坏了》的音频?谢谢
歌:
花样男子OST.rar?k=25616137d0c975ca0cdb071e4337061b52005856510f03064b545851521a000000514c56045405190005510054025701020403546538348fceb098f3b5e0e77b35354f45044534提取码 faa7e744
歌词
花男《因为我太傻》.docx?k=79613965b1fecbc758db5f4c1638061756030c07050f035b1f5258520715000f505714070500561506565f030509020f54575857302f34839aa5e9c486eac6f698afeba99bf18199854f5d0a534034提取码 2a9e0848
c#用NPOI2.1在docx页眉中增加图片
using System.IO;
2 using NPOI.XWPF.UserModel;
代码:
1 XWPFDocument doc = new XWPFDocument(); //创建新的word文档
2
3 XWPFParagraph p1 = doc.CreateParagraph(); //向新文档中添加段落
4 p1.SetAlignment(ParagraphAlignment.CENTER); //段落对其方式为居中
5
6 XWPFRun r1 = p1.CreateRun(); //向该段落中添加文字
7 r1.SetText("测试段落一");
8
9 XWPFParagraph p2 = doc.CreateParagraph();
10 p2.SetAlignment(ParagraphAlignment.LEFT);
11
12 XWPFRun r2 = p2.CreateRun();
13 r2.SetText("测试段落二");
14
15
16 FileStream sw = File.Create("cutput.docx"); //...
17 doc.Write(sw); //...
18 sw.Close(); //在服务端生成文件
19
20 FileInfo file = new FileInfo("cutput.docx");//文件保存路径及名称
21 //注意: 文件保存的父文件夹需添加Everyone用户,并给予其完全控制权限
22 Response.Clear();
23 Response.ClearHeaders();
24 Response.Buffer = false;
25 Response.ContentType = "application/octet-stream";
26 Response.AppendHeader("Content-Disposition", "attachment;filename="
27 + HttpUtility.UrlEncode("output.docx", System.Text.Encoding.UTF8));
28 Response.AppendHeader("Content-Length", file.Length.ToString());
29 Response.WriteFile(file.FullName);
30 Response.Flush(); //以上将生成的word文件发送至用户浏览器
31
32 File.Delete("cutput.docx"); //清除服务端生成的word文件
请教:java从数据库获取数据导出docx,有多个表格,请问怎么导出?
第一步:如何用POI操作Excel
@Test
public void createXls() throws Exception{
//声明一个工作薄
HSSFWorkbook wb = new HSSFWorkbook();
//声明表
HSSFSheet sheet = wb.createSheet("第一个表");
//声明行
HSSFRow row = sheet.createRow(7);
//声明列
HSSFCell cel = row.createCell(3);
//写入数据
cel.setCellValue("你也好");
FileOutputStream fileOut = new FileOutputStream("d:/a/b.xls");
wb.write(fileOut);
fileOut.close();
}
第二步:导出指定数据库的所有表
分析:
1:某个数数据库有多少表,表名是什么?―――DataBaseMetadate.getMetadate().getTables(null,null,null,new String[]{Table}); - excel的文件名称。
2:对每一个表进行select * 操作。 - 每一个sheet的名称。
3:分析表结构,rs.getMetadate(); ResultSetMedated
4:多个列,列名是什么.- 字段名就是sheet的第一行信息。
5:获取每一行的数据 – 放到sheet第一行以后。
@Test
public void export() throws Exception{
//声明需要导出的数据库
String dbName = "focus";
//声明book
HSSFWorkbook book = new HSSFWorkbook();
//获取Connection,获取db的元数据
Connection con = DataSourceUtils.getConn();
//声明statemen
Statement st = con.createStatement();
//st.execute("use "+dbName);
DatabaseMetaData dmd = con.getMetaData();
//获取数据库有多少表
ResultSet rs = dmd.getTables(dbName,dbName,null,new String[]{"TABLE"});
//获取所有表名 - 就是一个sheet
ListString tables = new ArrayListString();
while(rs.next()){
String tableName = rs.getString("TABLE_NAME");
tables.add(tableName);
}
for(String tableName:tables){
HSSFSheet sheet = book.createSheet(tableName);
//声明sql
String sql = "select * from "+dbName+"."+tableName;
//查询数据
rs = st.executeQuery(sql);
//根据查询的结果,分析结果集的元数据
ResultSetMetaData rsmd = rs.getMetaData();
//获取这个查询有多少行
int cols = rsmd.getColumnCount();
//获取所有列名
//创建第一行
HSSFRow row = sheet.createRow(0);
for(int i=0;icols;i++){
String colName = rsmd.getColumnName(i+1);
//创建一个新的列
HSSFCell cell = row.createCell(i);
//写入列名
cell.setCellValue(colName);
}
//遍历数据
int index = 1;
while(rs.next()){
row = sheet.createRow(index++);
//声明列
for(int i=0;icols;i++){
String val = rs.getString(i+1);
//声明列
HSSFCell cel = row.createCell(i);
//放数据
cel.setCellValue(val);
}
}
}
con.close();
book.write(new FileOutputStream("d:/a/"+dbName+".xls"));
}
提高效率的办公软件有哪些
时间效率工具
职场上有非常多好用的效率工具,比如说番茄钟,还有一些高效能的app,直接在应用市场里面就可以搜到。
效率手册
某宝上有非常多的效率手册里面可以直接写to do list就是每天的工作计划,每天上班之前花十分钟先思考自己每一天都有哪一些事情要做,先把事情写在上面。
这个手册的特点是首先写好自己的人生计划,比如说你的人生目标是40岁退休,那你就倒推,你每一年要做一些什么样的目标,比如说五年内升值到总监,3年内,成为高级管理人员等
手册里面有目标管理时间管理等等
TO DO LIST
也有单独小册子,每天上班之前将自己需要做的事情想一遍,然后记在本子上,做掉一项划掉一项
漏斗或者定时器
每一个番茄钟大概是25分钟,我们一般工作四个番茄钟,休息十分钟,也就是工作一个小时,休息十分钟,去上个厕所,喝杯水。
时间计划白板
除了放在桌子上的本子,还有可以直接放在桌子上的小白板,这种直接在某宝上也有很多这种的好处,就是你一坐到办公桌前,抬头就能看到自己还有哪些工作没有做完,也一样是做掉一项画掉一下。直接明了,我现在是直接买了一个移动的白板,放在我的办公桌前,规划好我的每一年的工作到季度月,细化到日,这样我可以根据我的,计划去规划我的工作。
带锁手机盒
现在的人都有手机综合症,低头族综合症!我们想要工作高效,一定要控制好自己!刷手机刷屏的时间,我们可以买一个带锁的手机和,将手机锁在盒子里,钥匙给同事,这样就可以控制我们刷手机的时间,提高自己的工作效率
PPT模版
我们要学会收集ppt模板,会让我们在做起ppt的时候,就不用临时找素材,你可以提高很多的工作效率
快捷键
学会一些快捷键,就比我们用鼠标点来点去要节省很多的时间,这一招可以在搜索引擎里面搜索用起来哟
模版表格
我们经常需要填一些表格,收集一些信息,如果我们提前做好一些模板表格,直接发给组里的同事或其他的同事,这样就能够节省我们很多的时间来整理表格
思维工具
思维工具有很多,比如说时间管理四象限,重要紧急重要不紧急不重要,不紧急重要但不紧急等等,来划分,我们到底要先做哪一件事情,哪件事情可以晚一点再做
还有5W2Y等等。。有兴趣的也可以通过搜索引擎搜索思维工具
升职加薪有套路,个人成长加速度。欢迎关注我的公众号阿佳说(ID:SS2017BB)