我尝试使用ListView中相应的行颜色更新Excel工作表行 - objLv
objLv = ListView
我添加了一个对System.Drawing.dll的引用 - 运行时版本v2.0.50727 - 版本2.0.0.0
错误发生在'workbook.Styles.Item(i).Interior.Color ... 所以它是下面代码的第6行。我应用了一些解决方案,但无法解决问题。
Dim oldCI = New System.Globalization.CultureInfo("en-US")
'Me.sCloseDoc(strXLSFile)
Dim workbook As Excel.Workbook = Me.fOpenXlsFile(strXLSFile)
For i As Int32 = 0 To objLv.Items.Count - 1
workbook.Styles.Item(i).Interior.Color = objLv.Items(i).BackColor
Next
workbook.Save()
答案 0 :(得分:0)
Styles集合不是基于0的。
尝试workbook.Styles.Item(i+1).Interior.Color = objLv.Items(i).BackColor
。
另外,正如David在评论中提到的那样,您需要在保存WorkBook后重置文化,如下所示:
System.Threading.Thread.CurrentThread.CurrentCulture = CType(oldCI, CultureInfo)