2010-07-05 3 views
0

Есть ли простой способ генерации простого файла excel с использованием JavaScript?Создать файл Excel с помощью javascript

С наилучшими пожеланиями,

+4

Возможный дубликат [как сгенерировать Excel через Javascript] (http://stackoverflow.com/questions/333537/how-to-generate-excel-through-javascript) – Oddthinking

+0

Почему бы просто не сделать вызов ajax? – Gogol

ответ

1

Это будет очень трудно сформировать файл Excel, а CSV файл будет легко построить:

field1,field2,field3 
value1,value2,value3 
value1,value2,value3 

генерировать его в JavaScript, и отправить его для пользователя в качестве загрузки с использованием Downloadify:

Загрузить изображение - это крошечная библиотека JavaScript + Flash, которая позволяет генерировать и сохранять fi «на лету», в браузере, без взаимодействия с сервером.

1

Click Here Использование документации лист распространение Мы можем динамически создать таблицу с помощью JavaScript просто следовать документации и добавить синтаксис Вы ссылаетесь this

'<?xml version="1.0"?>', 
      '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">', 
      '<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"><Title>' + theTitle + '</Title></DocumentProperties>', 
      '<OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office"><AllowPNG/></OfficeDocumentSettings>', 
      '<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">', 
      '<WindowHeight>' + worksheet.height + '</WindowHeight>', 
      '<WindowWidth>' + worksheet.width + '</WindowWidth>', 
      '<ProtectStructure>False</ProtectStructure>', 
      '<ProtectWindows>False</ProtectWindows>', 
      '</ExcelWorkbook>', 

      '<Styles>', 

      '<Style ss:ID="Default" ss:Name="Normal">', 
      '<Alignment ss:Vertical="Bottom"/>', 
      '<Borders/>', 
      '<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="12" ss:Color="#000000"/>', 
      '<Interior/>', 
      '<NumberFormat/>', 
      '<Protection/>', 
      '</Style>', 

      '<Style ss:ID="title">', 
      '<Borders />', 
      '<Font ss:Bold="1" ss:Size="18" />', 
      '<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1" />', 
      '<NumberFormat ss:Format="@" />', 
      '</Style>', 

      '<Style ss:ID="headercell">', 
      '<Font ss:Bold="1" ss:Size="10" />', 
      '<Alignment ss:Horizontal="Center" ss:WrapText="1" />', 
      '<Interior ss:Color="#A3C9F1" ss:Pattern="Solid" />', 
      '</Style>', 


      '<Style ss:ID="even">', 
      '<Interior ss:Color="#CCFFFF" ss:Pattern="Solid" />', 
      '</Style>', 


      '<Style ss:ID="evendate" ss:Parent="even">', 
      '<NumberFormat ss:Format="yyyy-mm-dd" />', 
      '</Style>', 


      '<Style ss:ID="evenint" ss:Parent="even">', 
      '<Numberformat ss:Format="0" />', 
      '</Style>', 

      '<Style ss:ID="evenfloat" ss:Parent="even">', 
      '<Numberformat ss:Format="0.00" />', 
      '</Style>', 

      '<Style ss:ID="odd">', 
      '<Interior ss:Color="#CCCCFF" ss:Pattern="Solid" />', 
      '</Style>', 

      '<Style ss:ID="groupSeparator">', 
      '<Interior ss:Color="#D3D3D3" ss:Pattern="Solid" />', 
      '</Style>', 

      '<Style ss:ID="odddate" ss:Parent="odd">', 
      '<NumberFormat ss:Format="yyyy-mm-dd" />', 
      '</Style>', 

      '<Style ss:ID="oddint" ss:Parent="odd">', 
      '<NumberFormat Format="0" />', 
      '</Style>', 

      '<Style ss:ID="oddfloat" ss:Parent="odd">', 
      '<NumberFormat Format="0.00" />', 
      '</Style> 


      '</Styles> 
      worksheet.xml, 
      '</Workbook>' 

И Atlast закодировать выше XML в base64 и образуют начало данных URL-адресов with'data: application/vnd.ms-excel; base64, {base64 encoded above xml}

Atlast это может выглядеть так Пожалуйста, нажмите здесь, чтобы скачать excel enter code here

Смежные вопросы