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

ial1408

Client
Регистрация
26.07.2016
Сообщения
194
Благодарностей
18
Баллы
18
Доброго дня. Встречалось ли у вас такое что зенка не хотела делать замену? Опишу на примере, вот есть код:
Код:
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" и ее прогонять то все работает. Не пойму, что ему моя таблица не нравится. Всю голову уже сломал. На пустом месте ошибка какая то!
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Вы только берёте значение, но не записываете его назад в таблицу.

Код:
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);
}
 

ial1408

Client
Регистрация
26.07.2016
Сообщения
194
Благодарностей
18
Баллы
18
Вы только берёте значение, но не записываете его назад в таблицу.

Код:
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 минут перечитать ваше сообщение заново)
 

ial1408

Client
Регистрация
26.07.2016
Сообщения
194
Благодарностей
18
Баллы
18
Вообщем разобрался почему так но как победить не понял. Помогите если кто сталкивался. Дело в том что когда копируешь из google таблиц, копируется неверный формат (вроде как) и когда зенка забирает ячейку она не может ее обработать. Я решил изменить одну ячейку. Удалил старое значение и написал точно такое же (с пробелом) и вуаля. Все заработало. Но не могу же я каждую ячейку переписывать в ручную.
 

CheshireCat

Пользователь
Регистрация
07.03.2018
Сообщения
29
Благодарностей
12
Баллы
8
Если именно с числами такую проблему надо решить, то можно сделать просто - взять исходную строку и удалить из неё все значения, которые не являются цифрами
Можно так:
string newString = Regex.Replace(oldString, "[^.0-9]", "");
 

ial1408

Client
Регистрация
26.07.2016
Сообщения
194
Благодарностей
18
Баллы
18
Если именно с числами такую проблему надо решить, то можно сделать просто - взять исходную строку и удалить из неё все значения, которые не являются цифрами
Можно так:
string newString = Regex.Replace(oldString, "[^.0-9]", "");
Спасибо, но дело не в этом. Решил проблему другим путем. До этого я копировал все ячейки из гугл таблицы и вставлял в excel. Если сделать через Файл - Скачать как - XLSX то форматирование будет верным и Зенка такие числа обрабатывает. Почему скопированные не обрабатывает до сих пор не понял.
 

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