- Регистрация
- 24.08.2014
- Сообщения
- 301
- Благодарностей
- 49
- Баллы
- 28
Привет форумчанам. Возникла проблемка.
Есть шаблон - собирает данные в zenno таблицу и на выходе сохраняет в csv файл.
Данные хранятся в таком виде
В последнем столбце "Разница" подсчитывается разница между минимальным и максимальным значением из строки.
Задача в том, чтобы к самим минимальным и максимальным значениям из строки добавлять какой-нибудь utf символ, чтобы я потом мог фильтровать по нему столбец. На скрине пример того как должно быть.
Как видите, к минимальному значению из строчки добавлен символ стрелки вниз, а к максимальному стрелка вверх.
Вот такой код мне сделал один из форумчан.
Этот код считает эту самую разницу % между минимальным и максимальным значением в строчке.
Нужно его переделать, чтобы он не только получал значения min и max, но и дописывал к их значениям какие-нибудь символы (можно как на скрине стерлка вверх и стрелка вниз).
За помощь готов заплатить. Буду рад выслушать любые предложения!
Есть шаблон - собирает данные в zenno таблицу и на выходе сохраняет в csv файл.
Данные хранятся в таком виде
В последнем столбце "Разница" подсчитывается разница между минимальным и максимальным значением из строки.
Задача в том, чтобы к самим минимальным и максимальным значениям из строки добавлять какой-нибудь utf символ, чтобы я потом мог фильтровать по нему столбец. На скрине пример того как должно быть.
Как видите, к минимальному значению из строчки добавлен символ стрелки вниз, а к максимальному стрелка вверх.
Код:
var final = project.Tables["final"];
//Обходим строки таблицы final в цикле.
for(int i=1; i< final.RowCount; i++)
{
string[] rowarr = final.GetRow(i).ToArray();
string vavava = "24V";
if(rowarr[0] == vavava){ //отсекаем строчки с объёмами, которые начинаются с 24v
}
else {
var row = final.GetRow(i);
var product = row.First(); //товар (столбец First)
IEnumerable<float> costArray = row
.Skip(1)
.Take(row.Count() - 2)
.Where(x => !string.IsNullOrWhiteSpace(x)) //исключаем пустые ячейки
.Select(x => float.Parse(x.Replace('.', ','))); //цены (все столбцы, кроме First и Last)
var min = costArray.Min();
var max = costArray.Max();
//высчитываем разницу по формуле
var diff = Math.Round(((max/(min/100)) - 100), 0, MidpointRounding.AwayFromZero);
//записываем разницу в последний столбец
var column = row.Count() - 1;
final.SetCell(column, i, diff.ToString().Replace(',', '.'));
}
}
Этот код считает эту самую разницу % между минимальным и максимальным значением в строчке.
Нужно его переделать, чтобы он не только получал значения min и max, но и дописывал к их значениям какие-нибудь символы (можно как на скрине стерлка вверх и стрелка вниз).
За помощь готов заплатить. Буду рад выслушать любые предложения!
Вложения
-
16,9 КБ Просмотры: 5