Нужна поддержка! (высота строк, номера страниц)

Обсуждение Stimulsoft Ultimate
Revival
Сообщения: 8
Зарегистрирован: 06 июн 2011, 09:24

Нужна поддержка! (высота строк, номера страниц)

Сообщение Revival »

Здравствуйте, поддержка!

Проблема № 1:

Экспорт таблицы из нескольких столбцов в Excel 2007(xlsx): у каждого элемента "Text" выставлено "Может расти", "Расти в высоту","Перенос текста". Проблема: некорректно расчитывает высоту строк в таблице Excel, нижняя часть текста в некоторых ячейках получается скрытой. Если после экспорта открыть полученный файл, выделить весь лист и сделать "Автоподбор высоты строки", то большинство строк приобретает вполне читабельный вид! Отсюда вопрос: - "Почему это не сделано у Вас?"

Проблема № 2:

Отчет состоит из трех страниц. На каждой странице есть компонент "Итог страницы", свойство "Доступность" которого равно "true" и он содержит компонент "Text", значение которого равно "Страница {PageNumber} из {TotalPageCount}". У всех страниц отчета указано свойство "Лист Excel"(свой для каждой страницы), а свойство "Печатать на предыдущей странице" равно "true".
Пользователю отчет может предоставляться в виде xlsx и pdf. При выводе в Excel свойства "Доступность" и "Печатать на предыдущей странице" у соответствующих компонентов устанавливаюся в "false". Первое чтобы избежать разрывов таблицы и второе, чтобы каждая страница экспортировалась на свой лист в эксель.Отчет строится корректно, за исключением косяка №1. При экспорте в "pdf" значения этих свойств устанавливаются соответственно в "true." Первое чтобы появились номера страниц внизу печатного листа, и второе, чтобы отчет печатался единым целым. В итоге глобальные переменные {PageNumber} и {TotalPageCount} отображают неверные значения "Текущая страница" и "Всего". Вопрос: "Как сделать нормальное отображение номера текущей страницы?" Существуют ли другие пути решения?

Проблема № 3:

Необходим телефон поддержки для более быстрого решения проблем.

e-mail: ---

Microsoft Windows [Version 6.1.7600]x64ru, Stimulsoft Reports.Ultimate 2011.1, Microsoft .NET Framework 3.5,MVS 2008 Version 3.5 SP1
Revival
Сообщения: 8
Зарегистрирован: 06 июн 2011, 09:24

Нужна поддержка! (высота строк, номера страниц)

Сообщение Revival »

Вдогонку: предоставленная для заполнения на сайте форма обращения в техническую поддержку не работает! Посылал тот же тект, что и в сообщении выше.

Server Error in '/' Application.
--------------------------------------------------------------------------------

A potentially dangerous Request.Form value was detected from the client (ctl00$ToolFeedBack1$ToolFeedBackForm1$tbBody="...sts&m=7074&#7074


Microsof...").
Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. You can disable request validation by setting validateRequest=false in the Page directive or in the configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case.

Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (ctl00$ToolFeedBack1$ToolFeedBackForm1$tbBody="...sts&m=7074&#7074

Revival
Сообщения: 8
Зарегистрирован: 06 июн 2011, 09:24

Нужна поддержка! (высота строк, номера страниц)

Сообщение Revival »

up
Revival
Сообщения: 8
Зарегистрирован: 06 июн 2011, 09:24

Нужна поддержка! (высота строк, номера страниц)

Сообщение Revival »

Извините, забыл указать здесь е-майл (когда форму поддержки неработающую заполнял - указывал), указанный при регистрации:

---

А все советы и пожелания предоставлять в этом топике , или сюда:

---
Jan
Сообщения: 495
Зарегистрирован: 19 фев 2009, 11:14

Нужна поддержка! (высота строк, номера страниц)

Сообщение Jan »

Здравствуйте,
Проблема № 1:

Экспорт таблицы из нескольких столбцов в Excel 2007(xlsx): у каждого элемента "Text" выставлено "Может расти", "Расти в высоту","Перенос текста". Проблема: некорректно расчитывает высоту строк в таблице Excel, нижняя часть текста в некоторых ячейках получается скрытой. Если после экспорта открыть полученный файл, выделить весь лист и сделать "Автоподбор высоты строки", то большинство строк приобретает вполне читабельный вид! Отсюда вопрос: - "Почему это не сделано у Вас?"
Нужен пример в виде mdc файла (построенный отчет, можно сохранить третьей кнопкой во вьювере отчетов).

Проблема № 2:

Отчет состоит из трех страниц. На каждой странице есть компонент "Итог страницы", свойство "Доступность" которого равно "true" и он содержит компонент "Text", значение которого равно "Страница {PageNumber} из {TotalPageCount}". У всех страниц отчета указано свойство "Лист Excel"(свой для каждой страницы), а свойство "Печатать на предыдущей странице" равно "true".
Пользователю отчет может предоставляться в виде xlsx и pdf. При выводе в Excel свойства "Доступность" и "Печатать на предыдущей странице" у соответствующих компонентов устанавливаюся в "false". Первое чтобы избежать разрывов таблицы и второе, чтобы каждая страница экспортировалась на свой лист в эксель.Отчет строится корректно, за исключением косяка №1. При экспорте в "pdf" значения этих свойств устанавливаются соответственно в "true." Первое чтобы появились номера страниц внизу печатного листа, и второе, чтобы отчет печатался единым целым. В итоге глобальные переменные {PageNumber} и {TotalPageCount} отображают неверные значения "Текущая страница" и "Всего". Вопрос: "Как сделать нормальное отображение номера текущей страницы?" Существуют ли другие пути решения?
Покажите, пожалуйста, код, который используется в первом и во втором случае. Также нужны примеры (скриншоты или файлы), что получается в обоих случаях.
Проблема № 3:

Необходим телефон поддержки для более быстрого решения проблем.
Извините, мы не оказываем техническую поддержку по телефону.

Спасибо.
Jan
Сообщения: 495
Зарегистрирован: 19 фев 2009, 11:14

Нужна поддержка! (высота строк, номера страниц)

Сообщение Jan »

Здравствуйте,
Revival писал(а):Вдогонку: предоставленная для заполнения на сайте форма обращения в техническую поддержку не работает! Посылал тот же тект, что и в сообщении выше.

Server Error in '/' Application.
Возможно частный случай. Каждый день формой пользуются десятки пользователей. Вы не могли бы прислать информацию, которую Вы вводили на support@stimulsoft.com?

Спасибо.
Revival
Сообщения: 8
Зарегистрирован: 06 июн 2011, 09:24

Нужна поддержка! (высота строк, номера страниц)

Сообщение Revival »

Нужен пример в виде mdc файла (построенный отчет, можно сохранить третьей кнопкой во вьювере отчетов).
Все файлы, включая: mdc, pdf, xlsx и mrt, высланы Вам письмом на support@stimulsoft.com, тема письма "Нужна поддержка! (высота строк, номера страниц) "

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


Код для обоих случаев:

private void button1_Click(object sender, EventArgs e)
{
bool exportExcel = true;

string connStr = StimulReportsAppUltimate.Properties.Settings.Default.csXXX_XXX_XXX_XXX;

string YearFrom = "2000";
string QuarterFrom = "1";
string YearTo = "2011";
string QuarterTo = "4";
string FindINN = "3201000743";
string docPredst = "210";
string docPredstRO = "1,3";

using (SqlConnection con = new SqlConnection(connStr))
{
using (SqlCommand cmd = con.CreateCommand())
{
cmd.CommandTimeout = con.ConnectionTimeout;
cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add(new SqlParameter("@YearFrom", SqlDbType.VarChar, 4));
cmd.Parameters["@YearFrom"].Value = YearFrom;
cmd.Parameters.Add(new SqlParameter("@QuarterFrom", SqlDbType.VarChar, 2));
cmd.Parameters["@QuarterFrom"].Value = QuarterFrom;
cmd.Parameters.Add(new SqlParameter("@YearTo", SqlDbType.VarChar, 4));
cmd.Parameters["@YearTo"].Value = YearTo;
cmd.Parameters.Add(new SqlParameter("@QuarterTo", SqlDbType.VarChar, 2));
cmd.Parameters["@QuarterTo"].Value = QuarterTo;
cmd.Parameters.Add(new SqlParameter("@FindINN", SqlDbType.VarChar, 20));
cmd.Parameters["@FindINN"].Value = FindINN;
cmd.Parameters.Add(new SqlParameter("@DocPredst", SqlDbType.VarChar, 30));
cmd.Parameters["@DocPredst"].Value = docPredst;
cmd.Parameters.Add(new SqlParameter("@DocPredstRO", SqlDbType.VarChar, 30));
cmd.Parameters["@DocPredstRO"].Value = docPredstRO;

using (StiReport report = new StiReport())
{
using (DataSet ds = new DataSet("dataset"))
{
using (DataTable ptable = new DataTable("head"))
{
ptable.Columns.Add("YearFrom", typeof(String));
ptable.Columns.Add("QuarterFrom", typeof(String));
ptable.Columns.Add("YearTo", typeof(String));
ptable.Columns.Add("QuarterTo", typeof(String));
ptable.Columns.Add("OrgName", typeof(String));
ptable.Columns.Add("OrgInn", typeof(String));
ptable.Columns.Add("DocPredst", typeof(String));
ptable.Columns.Add("DocPredstRO", typeof(String));
ptable.Rows.Add(YearFrom, QuarterFrom, YearTo, QuarterTo, "Тестовая организация", FindINN,
docPredst, docPredstRO);
ds.Tables.Add(ptable);
}

using (DataTable table = new DataTable("data1"))
{
cmd.CommandText = "Rep_Decl_4_1";
try
{
con.Open();
table.Load(cmd.ExecuteReader());
}
finally
{
con.Close();
}
ds.Tables.Add(table);
}

using (DataTable table = new DataTable("data2"))
{
cmd.CommandText = "Rep_Decl_4_2";
try
{
con.Open();
table.Load(cmd.ExecuteReader());
}
finally
{
con.Close();
}
ds.Tables.Add(table);
}

report.Load(@"..\Rep_Decl_4.mrt");
report.RegData(ds);

foreach (StiComponent c in report.GetComponents())
{
if (c is StiPageFooterBand)
(c as StiPageFooterBand).Enabled = !exportExcel;

if (c is StiPage)
{
StiPage p = (c as StiPage);
p.PrintOnPreviousPage = !exportExcel;
p.ExcelSheet.Value = !exportExcel ? String.Empty : p.ExcelSheet.Value;
}
}

report.Render(false);

if (exportExcel)
{
using (FileStream fileStream =
new FileStream(@"C:\report.xlsx", FileMode.Create))
{
StiExcel2007ExportSettings st = new StiExcel2007ExportSettings();
//st.UseOnePageHeaderAndFooter = true;
StiExcel2007ExportService excelExport = new StiExcel2007ExportService();
excelExport.ExportExcel(report, fileStream, st);
}
}
else
{
using (FileStream fileStream =
new FileStream(@"C:\report.pdf", FileMode.Create))
{
StiPdfExportService pdfExport = new StiPdfExportService();
pdfExport.ExportPdf(report, fileStream);
}
}
}
}
}
}


}
Извините, мы не оказываем техническую поддержку по телефону.

Очень жаль, так как отсутствие оперативной поддержки может повлечь за собой отказ от Вашего программного обеспечения .
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

Нужна поддержка! (высота строк, номера страниц)

Сообщение Ivan »

Здравствуйте.
Revival писал(а): Экспорт таблицы из нескольких столбцов в Excel 2007(xlsx): у каждого элемента "Text" выставлено "Может расти", "Расти в высоту","Перенос текста". Проблема: некорректно расчитывает высоту строк в таблице Excel, нижняя часть текста в некоторых ячейках получается скрытой. Если после экспорта открыть полученный файл, выделить весь лист и сделать "Автоподбор высоты строки", то большинство строк приобретает вполне читабельный вид! Отсюда вопрос: - "Почему это не сделано у Вас?"
Вы сами частично ответили на свой вопрос: не все строки, а только "большинство строк приобретает вполне читабельный вид!". Даже встроенная в Excel функция "Автоподбор высоты строки" не всегда может точно рассчитать нужную высоту строки.

Причина - в приложениях MS-Office функция WYSIWYG часто работает некорректно.
Например, ваш отчет в EXCEL в режиме редактирования и в предпросмотре печати выглядит по-разному, еще больше различий вы увидите, если в режиме редактирования начнете менять масштаб страницы от 50% до 200% - самый длинный текст на странице будет обрезаться на разное количество строчек в зависимости от масштаба.
Также отрисовка текста в Excel осуществляется собственными методами, и не совпадает ни с GDI+ (Standard, Typographic), ни с GDI (WYSIWYG).

Поэтому нельзя точно передать вид текста в превью.
Варианты примерного решения проблемы:
1. Попробовать выбрать для текста разные шрифты; для каждого шрифта попробовать разный TextQuality - выбрать тот, при котором строка текста получается самой длинной.
2. В конце каждого текста добавлять пустую строку для компенсации погрешности изображения.

Спасибо.
Revival
Сообщения: 8
Зарегистрирован: 06 июн 2011, 09:24

Нужна поддержка! (высота строк, номера страниц)

Сообщение Revival »

Ivan писал(а):Здравствуйте.
Revival писал(а): Экспорт таблицы из нескольких столбцов в Excel 2007(xlsx): у каждого элемента "Text" выставлено "Может расти", "Расти в высоту","Перенос текста". Проблема: некорректно расчитывает высоту строк в таблице Excel, нижняя часть текста в некоторых ячейках получается скрытой. Если после экспорта открыть полученный файл, выделить весь лист и сделать "Автоподбор высоты строки", то большинство строк приобретает вполне читабельный вид! Отсюда вопрос: - "Почему это не сделано у Вас?"
Вы сами частично ответили на свой вопрос: не все строки, а только "большинство строк приобретает вполне читабельный вид!". Даже встроенная в Excel функция "Автоподбор высоты строки" не всегда может точно рассчитать нужную высоту строки.

Причина - в приложениях MS-Office функция WYSIWYG часто работает некорректно.
Например, ваш отчет в EXCEL в режиме редактирования и в предпросмотре печати выглядит по-разному, еще больше различий вы увидите, если в режиме редактирования начнете менять масштаб страницы от 50% до 200% - самый длинный текст на странице будет обрезаться на разное количество строчек в зависимости от масштаба.
Также отрисовка текста в Excel осуществляется собственными методами, и не совпадает ни с GDI+ (Standard, Typographic), ни с GDI (WYSIWYG).

Поэтому нельзя точно передать вид текста в превью.
Варианты примерного решения проблемы:
1. Попробовать выбрать для текста разные шрифты; для каждого шрифта попробовать разный TextQuality - выбрать тот, при котором строка текста получается самой длинной.
2. В конце каждого текста добавлять пустую строку для компенсации погрешности изображения.

Спасибо.
Здравствуйте.

Да, действительно, я сам частично ответил на свой вопрос. Действительно не все строки становятся нормальными. Но поймите, их становится большинство. А теперь представьте себя на месте человека, который с таким Exсel работает, бедняга вынужден постоянно щелкать дважды мышкой, чтобы раздвинуть строки и столбцы, практически в каждой строке. И то, если этот человек немного продвинут, а некоторые ведь просто растягивают. Разве у него нет других дел? Представьте сколько времени уйдет у него на изучение подобного отчета? Так вот я спрашиваю, почему не сделать подобную операцию после формирования отчета? Разве сложно организовать цикл и пробежать по всему "Used range"? Неуверен, что подобного нельзя сделать при использовании стандарта Open Office XML. И WYSIWYG думаю тут ни причем. Честно скажу, исходники еще не смотрел, но не думаю, что Вы до сих экспортируете в Excel с помощью DDE и COM-технологий.

В данном случае предлагаемые Вами действия, это не решения проблем, а всего лишь заплатки.
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

Нужна поддержка! (высота строк, номера страниц)

Сообщение Ivan »

Здравствуйте.
Revival писал(а):Да, действительно, я сам частично ответил на свой вопрос. Действительно не все строки становятся нормальными. Но поймите, их становится большинство. А теперь представьте себя на месте человека, который с таким Exсel работает, бедняга вынужден постоянно щелкать дважды мышкой, чтобы раздвинуть строки и столбцы, практически в каждой строке. И то, если этот человек немного продвинут, а некоторые ведь просто растягивают. Разве у него нет других дел? Представьте сколько времени уйдет у него на изучение подобного отчета? Так вот я спрашиваю, почему не сделать подобную операцию после формирования отчета? Разве сложно организовать цикл и пробежать по всему "Used range"? Неуверен, что подобного нельзя сделать при использовании стандарта Open Office XML.
"Автоподбор высоты строки" - это не свойство строки или ячейки, это команда Excel. Вызвать её можно только из макроса. Это минус - должны быть разрешены макросы, или Excel будет постоянно ругаться на этот файл.
Также, по результатам наших тестов, Excel для части ячеек даже уменьшает высоту строки, особенно это заметно на мелких шрифтах. Поэтому в результате большого выигрыша в применении этой команды не получается.

Еще один нюанс: отрисовка текста в Excel осуществляется собственными методами, и не совпадает ни с GDI+ (Standard, Typographic), ни с GDI (WYSIWYG). Поэтому мы не можем сразу просчитать, как будет выглядеть текст в Excel.
В вашем примере для данных используется мелкий шрифт (Arial, 8), который Excel отображает по своему, добавляя отступы сверху и снизу, поэтому текст немного не помещается по высоте в ячейки. В этом случае можно попробовать установить TextQuality для текстбоксов в Wysiwyg, шрифт Arial в этом режиме получается большей высоты, и для текста резервируется больше места.
Revival писал(а):И WYSWYG думаю тут ни причем.
Повторю свою цитату:
"ваш отчет в EXCEL в режиме редактирования и в предпросмотре печати выглядит по-разному, еще больше различий вы увидите, если в режиме редактирования начнете менять масштаб страницы от 50% до 200% - самый длинный текст на странице будет обрезаться на разное количество строчек в зависимости от масштаба."
Этот баг был еще в OfficeXP, он остался и в Office2010.
Revival писал(а):Честно скажу, исходники еще не смотрел, но не думаю, что Вы до сих экспортируете в Excel с помощью DDE и COM-технологий.
Наш экспорт не использует никакие сторонние компоненты и технологии, только C# код.
Revival писал(а): Отчет состоит из трех страниц. На каждой странице есть компонент "Итог страницы", свойство "Доступность" которого равно "true" и он содержит компонент "Text", значение которого равно "Страница {PageNumber} из {TotalPageCount}".
....
В итоге глобальные переменные {PageNumber} и {TotalPageCount} отображают неверные значения "Текущая страница" и "Всего". Вопрос: "Как сделать нормальное отображение номера текущей страницы?" Существуют ли другие пути решения?
Пожалуйста установите свойство отчета EngineVersion в EngineV2.

Спасибо.
Ответить