Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/10: Рейтинг темы: голосов - 10, средняя оценка - 4.70
4 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 23
1

ASP.NET+C#: Создание таблиц с большим числом колонок в документах Word

15.09.2011, 21:30. Просмотров 1935. Ответов 3
Метки нет (Все метки)

Добрый день!

Сразу к делу. Есть задача конвертирования на C# таблиц asp::GridView в документы Word и Excel. С Excel(ем) всё в порядке и отконвертировалось и отформатировалось всё правильно. А вот с Word(ом) возникли трудности:

1) Дело в том, что колонок в таблице достаточно много(92), а Word, как я понимаю из сообщения об ошибке, допускает ограничение не более 63 колонок.

2) Кроме того, даже если я на половину сокращу число колонок, то форматирование получается никакое - колонки ссуженные так, что в шапке таблицы длинные названия выстраиваются в "вертикальную ориентацию"(по букве в строке).

3) даже мышкой в Word(е) изменить ширину колонок вправо не получается (режим отображения страницы - Web-документ).

Может кто-то знает, как решить проблемы этих трёх пунктов??? (особенно интересуют пункты (1) и (2)):
(1) как обойти это ограничение?
(2) выровнять колонки по-ширине при выполнении (1)-го пункта?


Буду рад любым ответам. Особенно примерам кода.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2011, 21:30
Ответы с готовыми решениями:

Соединение таблиц в ASP.NET
Ребят, я пишу диплом. В качестве реализации выбрана технология ASP.NET. Правда вот соображаю в ней...

Работа с Word на ASP. Net Защита от сбоев
Все доброго времени суток! Разрабатываю веб-приложение, ввожу некоторые данные, и по ним формирую...

Отличие в поведении при отрисовки таблиц в html и asp.net
Всем доброго времени суток! Строю свой первый сайт и столкнулся с разницей в поведении при...

Разница между ASP.NET Core 2, ASP.NET Core MVC, ASP.NET MVC 5 и ASP.NET WEBAPI 2
Здравствуйте. Я в бекенд разработке полный ноль. В чем разница между вышеперечисленными...

3
CEO
Эксперт С++
2256 / 1246 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
16.09.2011, 00:43 2
varb,
1. Создаем нормальный репорт
2. Указываем формат больше чем А4 (а лучше -автомасштабирование)
3. ...
4. PROFIT!
0
4 / 4 / 1
Регистрация: 13.07.2011
Сообщений: 23
16.09.2011, 17:19  [ТС] 3
Цитата Сообщение от Alligieri Посмотреть сообщение
varb,
1. Создаем нормальный репорт
...
Что такое нормальный репорт?
Если Вы имели ввиду "ненормальность" наличия такого большого количества колонок, то в данном случае эта информация необходима, поскольку проект, который предоставляет этот репорт работает с большим количеством процессов (например, "Audio", "Video", "System", "car" и т.д.), для каждого из которых в свою очередь должна отображаться дополнительная информация("StartUp", "TraceAverage"). Также предполагается возможность выбора отдельного подмножества процессов, для которых должен быть выведен репорт(и это уже реализовано), а вот в случае вывода информации по всем процессам в *.DOC, увы пока нормальный вид не получается.
Именно эту проблему и необходимо разрешить.
Может всё таки кто-то знает???

РЕМАРКА: такая проблема с ограничением в количестве колонок возникает, когда я пытаюсь воспользоваться средствами using Microsoft.Office.Interop.Word. Если же пользоваться средствами HttpContext, т.е. как ниже:
...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.AddHeader("content-disposition","attachment;filename=" + fileName + ".doc");
HttpContext.Current.Response.Charset = "";
HttpContext.Current.Response.ContentType = "application/vnd.ms-word ";
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
gv.RenderControl(hw);
HttpContext.Current.Response.Output.Write(sw.ToString());
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
...

то проблем с ограничением не возникает, поскольку:
1) автоматически (Word или не Word не знаю), начиная с 63-ей колонки, все последующие размещаются, конкатенируясь, в ней
2) все колонки сужаются до ужаса, словно пытаясь уместиться в допустимые пределы.
0
CEO
Эксперт С++
2256 / 1246 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
17.09.2011, 00:07 4
Цитата Сообщение от varb Посмотреть сообщение
2) все колонки сужаются до ужаса, словно пытаясь уместиться в допустимые пределы.
потому что это ожидаемое поведение в Word

Цитата Сообщение от varb Посмотреть сообщение
Что такое нормальный репорт?
A. С нормальной html версткой - поищите в вебе как работать с html в Word, с указанием нормавльной минимальной ширины для колонок
В. SQL Reporting Services - лучший вариант для больших производительных отчетов
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2011, 00:07

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Создание таблиц в MS Word
Здравствуйте, уважаемые форумчане! Пишу курсовой проект по теме выпуска методической продукции и...

Создание нескольких таблиц в Word
Всем привет. Пишу на Delphi, но вопрос скорее по VBA, если я не прав, направьте меня по верному...

Скачать ASP.NET MVC View в виде файла в формате Word Document
Есть статья Download an ASP.NET MVC View as a Word Document на сайте...

Чем отличается ASP.NET от ASP.NET MVC, и что лучше подходит для моего приложения
Дорогие знатоки, я прочитал Шилдта C# и WPF Мак-Дональда, но до сих пор я не сильно понимаю чем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.