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

5 篇文章 0 订阅
1 篇文章 0 订阅

关于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的说明博文

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辰似五味

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值