2013-09-04 5 views
0

Я новичок в C#. Я попытался вставить строки из DataTable в формулы ячеек Excel, но неуспешно. Например, у меняКак добавить значения, содержащие двойные кавычки, из значений строк DataTable в формулы ячеек Excel?

= ROUND (R [-2] C * ЕСЛИ (R [-1] C = "", R [-1] С17, R [-1] C)/(IF (R [-1] C = ""; R [-1] C17; R [-1] C)); 2)

как стоимость. Я также попытался сделать

= ROUND (R [-2] C * ЕСЛИ (R [-1] C = \ "\", R [-1] С17, R [-1] C)/(ЕСЛИ (R [-1] C = \ "\", R [-1] С17, R [-1] С)); 2)

Но я получил исключение из HRESULT: 0x800A03EC В последнем примере отладчик показывает правильную строку, но я также получил это исключение.

Кроме того, она работает, когда я ставлю этот код:.

Globals.Wirksheet1.Cells.Range [ "A100"] = значение2 @ "= ROUND (R [-2] C * IF (R [-1] C = "" "", R [-1] С17, R [-1] C)/(ЕСЛИ (R [-1] C = "" "", R [-1] С17, R [-1] C)), 2) ";

Но мне нужно получить значения из DataTable, также я не знаю, как добавить @ в строку. Пожалуйста, объясните мне, как решить эту проблему? Спасибо

+0

вы видели этот ответ http://stackoverflow.com/questions/7099770/hresult-0x800a03ec-on-worksheet-range –

+0

Спасибо, но это не мое дело. Проблема с mycode заключается в преобразовании двойных кавычек в формулы Excel. – Michael

+0

Я решил это на стороне Excel :) Я изменил значения в моей таблице данных на = ROUND (R [-2] C * IF (R [-1] C = CONCATENATE (CHAR (34), CHAR (34)), R [-1] С17, R [-1] C)/(ЕСЛИ (R [-1] C = СЦЕПИТЬ (СИМ (34), CHAR (34)), R [-1] С17, R [-1] C)), 2) – Michael

ответ

0

Во имя ответа.

О.П. заявил:

Я изменил значения в моей таблице данных для

= ROUND (R [-2] C * ЕСЛИ (R [-1] C = СЦЕПИТЬ (СИМ (34), CHAR (34)), R [-1] С17, R [-1] C)/(ЕСЛИ (R [-1] C = СЦЕПИТЬ (СИМ (34), CHAR (34)), R [- 1] C17, R [-1] C)), 2)