Member 12750177 Ответов: 1

Мне нужно экспортировать динамически созданный HTML-код в excel. Могу ли я включить в это JQUERY?


Мой stringbuilder отображает количество таблиц, но я хочу скрыть некоторую таблицу, основанную на некоторых условиях, которые записаны в файле jquery. Итак, могу ли я включить Jquery при экспорте его в excel?

Мой код:
case ReportType.Xls: // Export to XL
                        context.Response.Clear();
                        context.Response.Buffer = true;
                        context.Response.AddHeader("Content-Disposition", "attachment; filename=\"" + fileName + xlsExtension + "\"");
                        context.Response.ContentType = "application/vnd.ms-excel";
                        context.Response.ContentEncoding = System.Text.Encoding.UTF8;

                        context.Response.Write(res); //res is the string containing HTML code
                        context.Response.Flush();


Мой файл res выглядит так:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
      <title>Enlighten</title>
    <script type="text/javascript" src="../JS/jquery-1.4.2.min.js"></script><script src="../JS/json2.js"  type="text/javascript" /></script><script src="../JS/printReporting.js"  type="text/javascript" /></script>
 
</head>
<body>
    <div id="wrapper">
        <h1>
            Updated demographic info report
        </h1>

Karthik_Mahalingam

"включить Jquery" где?

Member 12750177

Привет Картик,
Я включил ссылки jQuery в строку 'res', которая преобразуется в Excel. Моя проблема в том, что коды jQuery не отражаются в экспортированном листе (причина в том, что он не визуализируется). Итак, есть ли способ, которым мои коды jQuery будут отражаться в Excel?

1 Ответов

Рейтинг:
1

Richard Deeming

Цитата:
могу ли я включить Jquery при экспорте его в excel?

Нет.

Во-первых, вы не экспортируете файл Excel. Вы экспортируете HTML-файл, но отправляете заголовок браузеру, чтобы он сделал вид, что вы отправили файл Excel. Затем Excel попытается импортировать ваш HTML-код в файл Excel, но у вас практически нет контроля над тем, как он это делает.

Во-вторых, по соображениям безопасности Excel не будет оценивать или выполнять какой-либо Javascript при импорте HTML. Это предотвращает выполнение вредоносного кода за пределами песочницы браузера, и обойти его невозможно.

Вы должны использовать библиотеку, которая позволяет вам генерировать реальный" Файл Excel - например:

NB: Не пытайтесь использовать Office Interop, так как это не поддерживается в ASP.NET приложения[^].

Вам нужно будет переместить условия из файла скрипта в код C#.