使用C#在Excel中的查找公式中双引号

问题描述

我有一个电子表格,其文本类似于294735-9。我需要在电子表格中获取所有不带破折号的元素。

Method invocation Failed because [System.Object[]] does not contain a method named 'op_Addition'.

我有一个C#代码方案,我需要在电子表格外壳中打印此公式,但不会打印双引号,而只会打印-。这导致异常。我也尝试过Add-Type -AssemblyName "System.Windows.Forms"; Add-Type -AssemblyName "System.Drawing"; $main_form = new-object System.Windows.Forms.Form; $labels = @(); for( $i=0; $i -lt 5; $i++ ) { $label = new-object System.Windows.Forms.Label; $label.BackColor = "Orange"; $label.Location = new-object System.Drawing.Point(10,($i * 25)); $label.Text = $i.ToString(); $labels += $label; $main_form.Controls.Add($label); } $main_form.ShowDialog(); ,但仍然没有运气。

A1          A2
294735-9   =left(A1,find("-",A1)-1) this is a excel formula to get 294735

解决方法

当您将公式从Excel复制到C#时,该公式似乎已损坏。

string with_dash = $"=left({xlWorkSheet.Cells[rowCounter + 1,3]},find(\"-\",{xlWorkSheet.Cells[rowCounter + 1,3]})-1)";
xlWorkSheet.Cells[rowCounter + 1,ColumnCounter] = with_dash;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...