欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,【狗刨学习网】unity极致学院,致力于打造业内unity3d培训、学习第一品牌。
因项目需要,需在unity下实现写入excel、打印功能。因之前在winform里操作过excel,故顺心应手===
说明:本次只实现了简单操作步骤,在实际项目需要中,在此基础上扩展即可。
需求:
1、将各种统计数据插入到excel表格中。文字、数字、图片、时间…………
2、打印excel表格
==我们首先来做第一步吧。
操作excel,我一直使用的是NPOI插件,自我感觉该插件非常不错,从java移植到.NET下的。抱着一颗激动的心开始流程……
1、将NPOI.DLL文件拷贝到unity\Assets\Plugins下
(此处注意事项:1、unity4.3版本目前支持.NET2.0,故导入DLL文件请选择2.0版本的,否则unity无法识别
2、如果要读取excel2007表格内容,理论上还需要导入NPOI.OOXML.DLL文件,但unity无法识别该DLL,到目前也没找到解决方案)
2、ok。好戏开始了。创建excel表格
首先:导入命名空间→using
NPOI.SSF.UserModel;using NPOI.SS.UserModel;using System.IO;<vs1.8中老是提示找不到NPOI命名空间,不用理会,unity中可正常执行。个人觉得是否为编译器所致,没试过mono-->
代码展示:
- public void CreateExcel() {
- IWorkbook wk = new HSSFWorkbook(); //HSSF在读取excel2007时有误,一般用XSSF.但unity中貌似无法识别该DLL文件,在创建excel则不影响。
- ISheet sheet = wk.CreateSheet(); //创建工作簿。有些版本excel创建时就带有3个sheet。此处你也可以装下
- IRow row = sheet.CreateRow(0); //创建行,参数代表第一行,实际应用中根据参数去扩展吧
- row.CreateCell(0).SetCellValue("this is first table cell "); //创建一个单元格,并设置单元格内容
- using(FileStream fs = File.OpenWrite(@"d:\test.xls")) {
- wk.Write(fs); //写入到磁盘文件中
- }
- }
复制代码
3、看着是不是很简单呀?其实真的很简单。但是在实际项目中得需要你各种完善哦^_^
写一个打印方法:
- public void PrintFile(string path)
- {
- System.Diagnostics.Process process = new System.Diagnostics.Process(); //系统进程
- process.StartInfo.CreateNoWindow = true; //不显示调用程序窗口
- process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;//
- process.StartInfo.UseShellExecute = true; //采用操作系统自动识别模式
- process.StartInfo.FileName=path; //要打印的文件路径
- process.StartInfo.Verb="print"; //指定执行的动作,打印:print 打开:open …………
- process.Start(); //开始打印
- }
复制代码
4、到此就结束了,是否感觉挺简单呀。
小伙伴们就偷着乐吧。
备注:大家有什么疑问欢迎提出来,多多交流。
声明:此篇文档时来自于【狗刨学习网】社区,是网友自行发布的Unity3D学习文章,如果有什么内容侵犯了你的相关权益,请与官方沟通,我们会即时处理。
更多精彩内容:www.gopedu.com