ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

关于UNITY中System.Drawing引用失败的处理方法

2021-07-02 22:59:17  阅读:562  来源: 互联网

标签:Style Color worksheet Cells 191 System UNITY Border Drawing


关于UNITY中System.Drawing引用失败的处理方法

今天在使用EPPlus中,遇到一个处于This type has been forwarded to assembly ‘System.Drawing,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a’ .
You must add a reference to assembly ‘System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’.的问题。

目的是要在UNITY中使用C#更改Excel中字体或者边框的颜色,但是在颜色这里遇到了两边版本不一致的问题。以下是我做的处理操作即Debug。

问题代码如下(以设置单元格边框为例)

网上找到使用EPPlus设置Excel单元格边框有两种方式

//第一种
//worksheet.Cells[i + 7, 10].Style.Border.BorderAround(ExcelBorderStyle.Thin, Color.FromArgb(191, 191, 191));//设置单元格所有边框
worksheet.Cells[i + 7, 10].Style.Border.BorderAround(ExcelBorderStyle.Thin, System.Drawing.Color.Black);//设置单元格所有边框
//第二种
worksheet.Cells[i + 7, 10].Style.Border.Top.Style = ExcelBorderStyle.Thin;
worksheet.Cells[i + 7, 10].Style.Border.Bottom.Style = ExcelBorderStyle.Thin;
worksheet.Cells[i + 7, 10].Style.Border.Left.Style = ExcelBorderStyle.Thin;
worksheet.Cells[i + 7, 10].Style.Border.Right.Style = ExcelBorderStyle.Thin;

//worksheet.Cells[i + 7, 10].Style.Border.Top.Color.SetColor(Color.FromArgb(191, 191, 191));
//worksheet.Cells[i + 7, 10].Style.Border.Bottom.Color.SetColor(Color.FromArgb(191, 191, 191));
//worksheet.Cells[i + 7, 10].Style.Border.Left.Color.SetColor(Color.FromArgb(191, 191, 191));
//worksheet.Cells[i + 7, 10].Style.Border.Right.Color.SetColor(Color.FromArgb(191, 191, 191));

worksheet.Cells[i + 7, 10].Style.Border.Top.Color.SetColor(System.Drawing.Color.Black);
worksheet.Cells[i + 7, 10].Style.Border.Bottom.Color.SetColor(System.Drawing.Color.Black);
worksheet.Cells[i + 7, 10].Style.Border.Left.Color.SetColor(System.Drawing.Color.Black);
worksheet.Cells[i + 7, 10].Style.Border.Right.Color.SetColor(System.Drawing.Color.Black);

以上代码是两种设置单元格边框格式的方法,经测试都可以使用,但要注意在UNITY中会提示Color有两个命名空间都存在需要指定一个,所以我这里采用的是System.Drawing.Color.Black。
屏蔽处为原文。

之后查看了一下System.Drawing的版本,在我这里的是4.X所以就是开头说的问题,需要添加2.X版本。
在Unity的安装路径下D:\unity\2018.4.31f1\Editor\Data\Mono\lib\mono\2.0(因个人而异)找到在这里插入图片描述
添加到项目的Plugins文件夹下即可(没有就自己新建一个也行)。
问题到此解决,很多原理东西我也不是很明白,这里关于C#使用EPPlus访问更改Excel的代码参考一个14年关于EPPlus的说明博文

标签:Style,Color,worksheet,Cells,191,System,UNITY,Border,Drawing
来源: https://blog.csdn.net/qq_44879321/article/details/118424307

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有