Unity使用Epplus读写Excel文件以及使用模板,以及打包关于引用System.Data.dll而打包出错的问题(含工程文件)

1,版本:Unity版本5.6.4

       Excel 2013版

       office2013安装包链接:

       链接:https://pan.baidu.com/s/1cwp-j5aJnmTWl7Z10Y4SEA 
       提取码:e9te 

2,需要的动态库:

       EPPlus.dll   Excel.dll    ICSharpCode.SharpZipLib.dll   System.Data.dll

       动态库分享链接:

       链接:https://pan.baidu.com/s/1ajbGlQ1oaa-p9DYdqbBT2Q 
       提取码:k57l 


3,正确的设置unity

 

           1,设置api2.0


           2,打包需要 I18l.dll,System.Data.dll和ICSharpCode.SharpZipLib.dll正确

        安装目录下的Unity\Editor\Data\Mono\lib\mono\2.0目录下

        包含I18N的所有动态库, System.Data.dll和ICSharpCode.SharpZipLib

       若不行可在unity安装目录下搜索,其他目录下的这些动态库

4,excel简单使用 

    简单的实现了excel的读写

        //FileShare.ReadWrite 可以打开没有关闭的excel
        FileStream fs = File.Open(readPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
        IExcelDataReader excelRead = ExcelReaderFactory.CreateOpenXmlReader(fs);
        DataSet result = excelRead.AsDataSet();
        //行 Tables[0]表示的是第一页!
        int row = result.Tables[0].Rows.Count;
        //列
        int columns = result.Tables[0].Columns.Count;
        //输出
        string[,] resultstrarray = new string[row, columns];
        for (int i = 0; i < row; i++)
        {
            for (int j = 0; j < columns; j++)
            {
                string str = result.Tables[0].Rows[i].ItemArray[j].ToString();
                //去空格
                str = str.Replace(" ", "");
                //加入数组
                resultstrarray[i, j] = str;
                //Debug.Log("i: " + i + "J: " + j + "str: " + str);
            }
        }

  写

     FileInfo newFile = new FileInfo(writePath);

        using (ExcelPackage package = new ExcelPackage(newFile))

        {

            ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("mk");

            //直接写

            worksheet.Cells[1, 1].Value = "ID";

            worksheet.Cells["D3"].Value = 999;

            //合并单元格 1,1  和1 6 合并

            worksheet.Cells[1, 1, 1, 6].Merge = true;

            //设置样式大小和颜色

            worksheet.Cells["F10"].Value = "看这里";

            worksheet.Cells["F10"].Style.Font.Size = 20;

            worksheet.Cells["F10"].Style.Font.Name = "宋体";

            worksheet.Cells["F10"].Style.Border.BorderAround(OfficeOpenXml.Style.ExcelBorderStyle.Thin);

            //保存excel

            package.Save();

        }

模板的使用就是复制一份新的,在新的基础上进行操作!

复制模板主要代码

   using (ExcelPackage sourcePack=new ExcelPackage(new FileInfo(sourcePath)))
        {
            using (ExcelPackage targetPack = new ExcelPackage(new FileInfo(targetPath)))
            {
                //注意sourcePack.Workbook.Worksheets[1]这个是1
                ExcelWorksheet worksheet = targetPack.Workbook.Worksheets.Add("s", sourcePack.Workbook.Worksheets[1]);
                worksheet.Cells[2, 1].Value = "12223";
                worksheet.Cells[2, 2].Value = "白雪";
                worksheet.Cells[2, 3].Value = "100";
                targetPack.Save();
            }
        }

 

4,完整项目链接

链接:https://pan.baidu.com/s/1kcKk5fpB-KLVUsWcYbWNyg 
提取码:pkqf 
 

好像上传的图看不了。。

 

你可能感兴趣的