• unity3d 下操作excel 与打印


    原地址:http://www.colabug.com/thread-1146390-1-1.html

    因项目需要,需在unity下实现写入excel、打印功能。因之前在winform里操作过excel,故顺心应手===
    说明:本次只实现了简单操作步骤,在实际项目需要中,在此基础上扩展即可。
    需求:
    1、将各种统计数据插入到excel表格中。文字、数字、图片、时间…………
    2、打印excel表格
    ==我们首先来做第一步吧。
    操作excel,我一直使用的是NPOI插件,自我感觉该插件非常不错,从java移植到.NET下的。抱着一颗激动的心开始流程……
    1、将NPOI.DLL文件拷贝到unityAssetsPlugins下
    (此处注意事项: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;
    代码展示:
    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、到此就结束了,是否感觉挺简单呀。 小伙伴们就偷着乐吧。
    备注:大家有什么疑问欢迎提出来,多多交流。

  • 相关阅读:
    cmd 命令添加防火墙端口
    linux 远程 telnet
    topshelf 服务启动运行
    postfix 邮箱服务器- SPF 防发件人欺骗
    linux 只查看目录下文件夹
    Android中的颜色设置
    thread和runnable
    Handler总结
    Failed to install Intel HAXM.
    Android Studio常见问题总结
  • 原文地址:https://www.cnblogs.com/123ing/p/3873241.html
Copyright © 2020-2023  润新知