Зенка не делает замену C# (.Replace())

  • Автор темы Автор темы ial1408
  • Дата начала Дата начала

ial1408

Client
Регистрация
26.07.2016
Сообщения
235
Реакции
26
Баллы
28
Доброго дня. Встречалось ли у вас такое что зенка не хотела делать замену? Опишу на примере, вот есть код:
Код:
Развернуть Свернуть Копировать
IZennoTable tblCashAll = project.Tables["cash_all"];
for (int k=0; k<tblCashAll.RowCount; k++){
    string strSumMinus = tblCashAll.GetCell(2,k).Replace(" ","");
    project.SendInfoToLog(strSumMinus);
}

У меня как лежало в таблице "2 500" так и выводит в лог "2 500" а надо что бы "2500" В таблицу excel копировал из google таблиц руками (если это важно). Если добавлять строковую переменную со значением "2 500" и ее прогонять то все работает. Не пойму, что ему моя таблица не нравится. Всю голову уже сломал. На пустом месте ошибка какая то!
 
Вы только берёте значение, но не записываете его назад в таблицу.

Код:
Развернуть Свернуть Копировать
IZennoTable tblCashAll = project.Tables["cash_all"];
for (int k=0; k<tblCashAll.RowCount; k++){
    string strSumMinus = tblCashAll.GetCell(2,k).Replace(" ","");
    tblCashAll.SetCell(2,k,strSumMinus);
      project.SendInfoToLog(strSumMinus);
}
 
Вы только берёте значение, но не записываете его назад в таблицу.

Код:
Развернуть Свернуть Копировать
IZennoTable tblCashAll = project.Tables["cash_all"];
for (int k=0; k<tblCashAll.RowCount; k++){
    string strSumMinus = tblCashAll.GetCell(2,k).Replace(" ","");
    tblCashAll.SetCell(2,k,strSumMinus);
      project.SendInfoToLog(strSumMinus);
}
А мне и не надо его обратно записывать. Мне надо его обработать. По алгоритму: Я беру строковое значение из ячейки и хочу заменить в нем все пробелы на пустоту. Далее хочу вывести это значение в лог. Мне в лог выводит с пробелами. Может я конечно уже пересидел за компом и надо через 15 минут перечитать ваше сообщение заново)
 
Вообщем разобрался почему так но как победить не понял. Помогите если кто сталкивался. Дело в том что когда копируешь из google таблиц, копируется неверный формат (вроде как) и когда зенка забирает ячейку она не может ее обработать. Я решил изменить одну ячейку. Удалил старое значение и написал точно такое же (с пробелом) и вуаля. Все заработало. Но не могу же я каждую ячейку переписывать в ручную.
 
Если именно с числами такую проблему надо решить, то можно сделать просто - взять исходную строку и удалить из неё все значения, которые не являются цифрами
Можно так:
string newString = Regex.Replace(oldString, "[^.0-9]", "");
 
Если именно с числами такую проблему надо решить, то можно сделать просто - взять исходную строку и удалить из неё все значения, которые не являются цифрами
Можно так:
string newString = Regex.Replace(oldString, "[^.0-9]", "");
Спасибо, но дело не в этом. Решил проблему другим путем. До этого я копировал все ячейки из гугл таблицы и вставлял в excel. Если сделать через Файл - Скачать как - XLSX то форматирование будет верным и Зенка такие числа обрабатывает. Почему скопированные не обрабатывает до сих пор не понял.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)