Jamie888 Ответов: 2

Выравнивание текста по середине в каждой строке файла excel


Привет, я хочу выровнять текст по середине в каждой строке файла excel. Но после всех кодов, которые я пробовал, ни один из них, кажется, не работает. Ниже приведены мои коды:

workSheet.get_Range("A", "AV").Rows.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;


это дает мне следующую ошибку:

COMExceltion был пойман
Исключение из HRESULT: 0x800A03EC

2 Ответов

Рейтинг:
12

DamithSL

попробуйте ниже

Excel.Range last = workSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing);
Excel.Range range = sheet.get_Range("A1", last);
range.Style.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;


Jamie888

происходит та же ошибка. FIY "A" и "AV" - это верхний заголовок столбца в диапазоне от A до AV.

DamithSL

проверьте мой обновленный ответ

Jamie888

у меня есть коды, которые могут работать, но это будет работать только на одном столбце, могу ли я знать, как сделать это во всех столбцах?

Microsoft.Офис.Взаимодействие.Превосходить.Диапазон cellA5 = рабочий лист.Клетки.get_Range("А2");
cellA5.Переносить по словам = ложь;

Jamie888

@DamithSL, Спасибо, я попробовал ваше решение, оно работает хорошо, так как содержимое всех ячеек выровнено по центру. Но из-за новых требований клиентов теперь он был изменен на перенос текста вместо выравнивания по центру.

DamithSL

если мой ответ решит вашу первоначальную проблему, то вы должны были принять это решение.
если у вас есть новая проблема, то это новый вопрос.

Jamie888

пожалуйста, взгляните на мое приведенное ниже Решение. Любое улучшение приветствуется.

Рейтинг:
1

Jamie888

Excel.Range last = workSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing);
Excel.Range range = workSheet.get_Range("A2", last);
range.WrapText = false;


благодаря DamithSL, я изменил его решения в соответствии с требованиями.