(3) Выводить можно сразу, если написать свою библиотеку или взять у кого уже есть и отчеты формировать не в 1С, а сразу в OpenXML.
Ширина колонки означает сколько символов влезет гарантированно в столбец и зависит от шрифта, его размера, dpi и тд.
https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.column?view=openxml-2.8.1
Column width measured as the number of characters of the maximum digit width of the numbers 0, 1, 2, …, 9 as rendered in the normal style's font. There are 4 pixels of margin padding (two on each side), plus 1 pixel padding for the gridlines.
width = Truncate([{Number of Characters} * {Maximum Digit Width} + {5 pixel padding}]/{Maximum Digit Width}*256)/256
[Example: Using the Calibri font as an example, the maximum digit width of 11 point font size is 7 pixels (at 96 dpi). In fact, each digit is the same width for this font. Therefore, if the cell width is 8 characters wide, the value of this attribute must be Truncate([8*7+5]/7*256)/256 = 8.7109375. end example]
То что вы видите в MS Office на самом деле рассчитывается по формуле и сохраняется уже рассчитанное значение. Никаких числовых значений ширины колонки там нет (условно 10, 50).
Возможно, достаточно будет настройки печати установить менеджерам. Смотрите в сторону распаковки файла Excel и перезаписи xml в листах:
Начало включить:
<sheetPr><pageSetUpPr fitToPage='1'/></sheetPr>
В конце xml листа (пример):
<printOptions horizontalCentered='1'/>
<pageMargins left='0.19685039370078741' right='0.19685039370078741' top='0.19685039370078741' bottom='0.19685039370078741' header='0' footer='0'/>
<pageSetup paperSize='9' scale='59' orientation='landscape' r:id='rId1'/>