Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
Возможно ли это? Чтобы юзер нажал кнопку и у него открылся сразу ексел и в нем содержимое грида через response. И как на диск клиенту файл записать без диалоговых окошек? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 08:42 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
Блин какой-то форум неактивный. На Oracle уже бы десяток советов дали :) Ау есть тут кто-нибудь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 11:47 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
top.html <!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>Договора Saperion</title> <script language="vbscript"> Sub Button1_onclick Select Case Select1.selectedIndex Case 0 ' Use Automation. Dim sHTML sHTML = window.parent.frames("bottom").document.forms(0).children("DataGrid1").outerhtml Dim oXL, oBook Set oXL = CreateObject("Excel.Application") Set oBook = oXL.Workbooks.Add oBook.HTMLProject.HTMLProjectItems("Sheet1").Text = sHTML oBook.HTMLProject.RefreshDocument oXL.Visible = true oXL.UserControl = true Case 1 ' Use MIME Type (In a New Window). window.open("Твоястраничка.aspx?bExcel=1") Case 2 ' Use MIME Type (In the Frame). window.parent.frames("bottom").navigate "Твоястраничка.aspx?bExcel=1" End Select End Sub </script> </head> <body> <select id="Select1" size="1" name="Select1"> <option value="0" selected>Automation</option> <option value="1">Открыть в новом окне</option> <option value="2">Открыть в текущем окне</option> </select> <input id="Button1" type="button" value="Go!" name="Button1" /> </body> </html> Frameset.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <frameset rows="10%,90%"> <frame noresize="0" scrolling="no" name="top" src="top.htm"> <frame noresize="0" scrolling="yes" name="bottom" src="Твоястраничка.aspx" (в ней у тебя grid)> </frameset> </html> а дальше ковыряйся с настройками IE в ActiveX ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 12:18 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
Спасибо за отклик :) А можно как-нить сделать так, чтобы из серверного кода страницу записать в переменную объектную или в буфер, а потом передать ее жаба скрипту. А тот уже на машине клиента откроет ексел и туда сразу вставит всю страничку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 12:36 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
не фффтыкнул )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 12:39 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
Надо ексель открыть на стороне клиента через жаба скрипт. Через com технологию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 13:41 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
Блин не дописал. Итак ексель открывается через жаба скрипт. Но просто открыть ексель какой в этом толк. Надо же туда че нить закачать, типа отчет сформировать. А данные все формируются серверным кодом. Открывается на сервере курсор. В нем данные. Как эти данные в виде массива или объекта можно передать клиентскому скрипту на жабе. Чтобы клиентский скрипт получил от серверного кода набор данных и вставил их в ексель? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 13:45 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
да, плин, какая разница ))) <script language="javascript" type="text/javascript"> function ExcClick(obj(можно параметрами передавать)) { а можно так: var per1=document.getElementById("контрол"); var per2=document.getElementById("контрол"); var Excel, Book; Excel = new ActiveXObject("Excel.Application"); Excel.Visible = true; это на открытие, на создание сам догадаешься )) Book = Excel.Workbooks.Open("c:\file.xls"); Excel.Cells(19,130).value=per1.value; Excel.Cells(19,149).value=per2.value; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 13:47 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
Да я пробовал так, но если я передаю массив в жаба скрипт, то передается только его первый элемент. А меня есть таблица (GridView) в которой может быть более тысячи записей. Может я чего то не то делаю? И если вдруг есть возможность передать весь массив целиком в скрипт, то можно его как-то сразу в ексель вывалить, а не каждую ячейку выводить по отдельности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 14:03 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
вот нафик тебе массив, что ты к нему пристал? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 14:06 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
Скорость вывода :) То ли дело по одной ячейки выводить, а то сразу бухнуть массив в ексель, а потом только отформатировать как надо и всякие там шапки ввести и прочее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 14:16 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
ты же говоришь у тебя грид ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 14:25 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
Я только начал работать с ASP.NET и WEB технологиями. До этого токо Win - приложения делал. Поэтому туплю по черному. За что прошу прощения :) Попробовал Ваш код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 14:35 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
в настройках IE в ActiveX сделай enable где неподписанные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 14:39 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
Guest112в настройках IE в ActiveX сделай enable где неподписанные уже стоит :) Код: plaintext 1. а вот так работает :) только пустой лист выводит блин :( и сетки нет в листе, ну да и фиг на нее, а вот данных нет и еще не подскажете, а можно брать какой-нибудь шаблон (с шапками, формиатированием и т.д.) открывать его, например с сервера и туда добавлять нужные записи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 14:45 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
сетку тоже можно, это все в свойствах Excel есть ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 14:51 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
можно конечно, я так делал, очень удобно )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 14:51 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. а точно так пишется: outerhtml? если пишу Код: plaintext 1. то в документ вставляет абракадабру какую то. может пишется outerHtml или еще как-то? тут же в жаба от регистра еще зависит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 14:54 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
а как именно с шаблоном работать, подскажите пожалуйста, а то время поджимает, а разобраться никак не могу. Где он должн храниться этот шаблон? Как к нему обратиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 14:56 |
|
||
|
Как сразу открыть Excel на клиенте без диалогового окна?
|
|||
|---|---|---|---|
|
#18+
вот например, примерчик, который у меня )) единственное только с 2003 будет работать ) <script runat="server"> public void Page_Load(object sender, EventArgs e) { Response.Clear(); Response.AddHeader("Content-Disposition", "inline; filename=myfile.xls"); Response.ContentType = "application/vnd.ms-excel"; DataSet ds = GetData(); XmlDocument xslDoc = new XmlDocument(); xslDoc.Load(Server.MapPath("~/App_Data/file.xsl")); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(ds.GetXml()); XslTransform xslt = new XslTransform(); xslt.Load(xslDoc); using (StringWriter writer = new StringWriter()) { xslt.Transform(xmlDoc, null, writer, null); Response.Write(writer.ToString()); } Response.End(); } DataSet GetData() { DataSet dt = new DataSet("DataSet"); string connectionString =""; OdbcConnection odbcCon = new OdbcConnection(connectionString); OdbcDataAdapter odbcDa = new OdbcDataAdapter("select DateDog, Region, NameDog, NDogCAgent, " + " SubjDog, CalcDog, DateBegin, DateEnd " + "from dmain", odbcCon); try { odbcCon.Open(); odbcDa.Fill(dt, "Table"); } catch (Exception err) { throw err; } finally { odbcCon.Close(); } return dt; } </script> а так вообще без разницы, форматируешь файл Excel как хочешь и потом открываешь его и вставляешь в какие надо ячейки данные (как показывал) или определяешь Range и запихиваешь сразу все )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 15:02 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=34028299&tid=1388979]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
61ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 369ms |

| 0 / 0 |
