Глюк экспорта в Excel: в поле2 помещается только 1 символ из строки - C#
Формулировка задачи:
Прочитал все что выдал поиск по запросу Excel, но решения проблемы так и не нашел. Поэтому, дабы не плодить тем, задам вопрос тут:
Есть таблица с объединенными ячейками, которую необходимо последовательно заполнить.
Заполнение двух полей реализовал так:
Загвоздка в том, что поле1 заполняется, а в поле2 помещается только 1 символ из строки. Код отрабатывает, но в момент excelcells.Value2 = s ; Хоть ячейка и правильно выбирается (если употреблять select) - то есть offset употребил верно, но при этом ячейка все равно остается пустой.
Не пойму в чем засада, ведь два куска фактически одинакового кода! А работает только один
Казалось бы, все логично написал. =\
//поле1
excelcells = excelworksheet.get_Range("AK1", "AM1").Cells;
for (int i = 0; i < Convert.ToInt16(t31.Tag); i++) //ограничение по максимальной длине поля в форме
{
if (i==t31.Text.Length) //на случай если поле заполнено не до конца
{break;};
s = t31.Text[i].ToString();
excelcells.Value2 = s ;
excelcells = excelcells.get_Offset(0, 3); //прыгаем на следующую объединенную ячейку
}
//поле1
//поле2
excelcells = excelworksheet.get_Range("AK4", "AM4").Cells;
for (int i = 0; i < Convert.ToInt16(t32.Tag); i++)
{
if (i == t32.Text.Length)
{break;};
s = t32.Text[i].ToString();
excelcells.Value2 = s ;
excelcells = excelcells.get_Offset(0, 3);
}
//поле2
бампуэ, проблему так и не решил, всю голову уже сломал +(
Решение задачи: «Глюк экспорта в Excel: в поле2 помещается только 1 символ из строки»
textual
Листинг программы
excelcells = excelworksheet.get_Range("AK1", "AM1").Cells; //зачем нужно брать Cells ?
///...
excelcells.Value2 = s ; //диапазону присаиваем одно значение, а не массив