1. #101
    Ext User
    Join Date
    Jul 2007
    Posts
    3,128
    Vote Rating
    1
    devnull is an unknown quantity at this point

      0  

    Default


    Animal, love the extension, but I had some grids with custom renderers that were being ignored, so I made the below changes. There currently is no consideration for the data type being set, and there is as far as i can tell no way to tell the difference between a custom renderer and the default renderer, but it works.
    Code:
    // Generate the data rows from the data in the Store
    for (var i = 0, it = this.store.data.items, l = it.length; i < l; i++) {
       t += '<ss:Row>'; 
       var cellClass = (i & 1) ? 'odd' : 'even'; 
       r = it[i].data; 
       var k = 0; 
       for (var j = 0; j < cm.getColumnCount(); j++) {
          if (includeHidden || !cm.isHidden(j)) {
             var v = r[cm.getDataIndex(j)]; 
             t += '<ss:Cell ss:StyleID="' + cellClass + cellTypeClass[k] + '"><ss:Data ss:Type="' + cellType[j] + '">'; 
             t += cm.getRenderer(j).call(this, v, {css : null, attr : null}, this.getStore().getAt(i), i, j); 
             //if (cellType[k] == 'DateTime') {
             // t += v.format('Y-m-d');
             //} else {
             // t += v;
             //}
             t += '</ss:Data></ss:Cell>'; 
             k++; 
             }
          }
       t += '</ss:Row>'; 
       }

  2. #102
    Ext User
    Join Date
    Oct 2008
    Posts
    1
    Vote Rating
    0
    korto is on a distinguished road

      0  

    Exclamation Excel output problem

    Excel output problem


    Hi, I am using your cool feature but I am facing a problem. When I click the link to open the Excel, excel application does open but with an error message right at startup : "Problems came up with the following areas during load: Table". Have you got any clue on how to fix that?
    Thanks a lot

  3. #103
    Sencha - Ext JS Dev Team Animal's Avatar
    Join Date
    Mar 2007
    Location
    Notts/Redwood City
    Posts
    30,503
    Vote Rating
    48
    Animal has a spectacular aura about Animal has a spectacular aura about

      0  

    Default


    It also tells you where it places an error file. Somewhere in your C:\Documents and settings directory. Check that out, it tells you a little more.

    Basically, it creates some XML. You can get in there in Firebug and examine the XML that it creates, there's some mistake. Excel needs perfect XML to load a spreadsheet.

    You should be able to grab the XML, and copy it into an XML editor like Liquid XML Studio, and see what's wriong with it.

    Here's the reference I used to generaet that XML: http://msdn.microsoft.com/en-us/libr...ffice.10).aspx

  4. #104
    Sencha - Ext JS Dev Team Animal's Avatar
    Join Date
    Mar 2007
    Location
    Notts/Redwood City
    Posts
    30,503
    Vote Rating
    48
    Animal has a spectacular aura about Animal has a spectacular aura about

      0  

    Default


    Quote Originally Posted by devnull View Post
    Animal, love the extension, but I had some grids with custom renderers that were being ignored, so I made the below changes. There currently is no consideration for the data type being set, and there is as far as i can tell no way to tell the difference between a custom renderer and the default renderer, but it works.
    Code:
    // Generate the data rows from the data in the Store
    for (var i = 0, it = this.store.data.items, l = it.length; i < l; i++) {
       t += '<ss:Row>'; 
       var cellClass = (i & 1) ? 'odd' : 'even'; 
       r = it[i].data; 
       var k = 0; 
       for (var j = 0; j < cm.getColumnCount(); j++) {
          if (includeHidden || !cm.isHidden(j)) {
             var v = r[cm.getDataIndex(j)]; 
             t += '<ss:Cell ss:StyleID="' + cellClass + cellTypeClass[k] + '"><ss:Data ss:Type="' + cellType[j] + '">'; 
             t += cm.getRenderer(j).call(this, v, {css : null, attr : null}, this.getStore().getAt(i), i, j); 
             //if (cellType[k] == 'DateTime') {
             // t += v.format('Y-m-d');
             //} else {
             // t += v;
             //}
             t += '</ss:Data></ss:Cell>'; 
             k++; 
             }
          }
       t += '</ss:Row>'; 
       }
    I don't agree with using renderers when creating a spreadsheet.

    Renderers are used when you are finally "exiting" the application, and all data is being converted into readable format, ie converted to String.

    In this case, the intention is to place real data into the spreadsheet. Dates as dates so that Excel can understand them, and process them. Floating point numbers as numbers so that they can be used in calculations.

    We do not want string representations of the data to end up in the spreadsheet.

  5. #105
    Ext User
    Join Date
    Jul 2007
    Posts
    3,128
    Vote Rating
    1
    devnull is an unknown quantity at this point

      0  

    Default


    In my case I have grids that have columns made entirely with data from other columns. My understanding of the this code was that it should present the data in excel exactly the same as it looks in the gridView rather than the raw data in the store, but perhaps I was mistaken I ended up adding an additional config to the columns to specifically set the output format when none was available. I also went on to make further changes to get it to export a grouping grid correctly.
    And youre right, excel gets very unhappy very quickly if the xml isnt *perfect*!

  6. #106
    Sencha Premium Member
    Join Date
    Nov 2007
    Location
    Moore, Oklahoma
    Posts
    464
    Vote Rating
    13
    Mthor will become famous soon enough

      0  

    Default


    roopa roopa is offline
    Ext User

    Join Date: Oct 2007
    Posts: 1
    roopa is infamous around these parts
    Default Error in IE8
    Hi All,

    Export to Excel works fine in FF, but in IE8 I get this error -

    Message: The data area passed to a system call is too small.

    Can anybody please tell me how to fix this?

    any body find a fix for this yet?

    Thanks for the extension

  7. #107
    Sencha - Ext JS Dev Team Animal's Avatar
    Join Date
    Mar 2007
    Location
    Notts/Redwood City
    Posts
    30,503
    Vote Rating
    48
    Animal has a spectacular aura about Animal has a spectacular aura about

      0  

    Default


    Report it to McSoft. I would guess it's an IE error caused by using a data: URL. If it's a large dataset, then the BASE64 encoding of an XML spreadsheet will be large. The whole content is encoded into the href of a link as the URL. Looks like IE8 just cannot cope.

  8. #108
    Sencha User angeldimitrov's Avatar
    Join Date
    Feb 2008
    Posts
    57
    Vote Rating
    1
    angeldimitrov is on a distinguished road

      0  

    Default German characters ?

    German characters ?


    I have another problem, that i tried to solve alone, but without success. I have some german characters in my grid - "
    angel[at]sourcestream.de
    wwww.sourcestream.de

  9. #109
    Sencha - Ext JS Dev Team Animal's Avatar
    Join Date
    Mar 2007
    Location
    Notts/Redwood City
    Posts
    30,503
    Vote Rating
    48
    Animal has a spectacular aura about Animal has a spectacular aura about

      0  

    Default


    What is your page's default character encoding?

    The XML is encoded as a UTF-8 bytestream before being encoded into BASE64, so try setting the URL like this:

    Code:
    'data:application/vnd.ms-excel;charset=UTF-8;base64,' + Base64.encode(grid.getExcelXml())
    Let us know if that works, and I'll update post #1

  10. #110
    Sencha User angeldimitrov's Avatar
    Join Date
    Feb 2008
    Posts
    57
    Vote Rating
    1
    angeldimitrov is on a distinguished road

      0  

    Default


    Hi Animal,
    thanks for the fast response. The encoding on the page is utf-8 too.
    I tried your suggestion, but without any success. Any other ideas ?
    angel[at]sourcestream.de
    wwww.sourcestream.de

Thread Participants: 140

  1. alexb (1 Post)
  2. galdaka (3 Posts)
  3. ghyster (1 Post)
  4. Condor (1 Post)
  5. TopKatz (1 Post)
  6. Jul (1 Post)
  7. mystix (3 Posts)
  8. Foggy (2 Posts)
  9. bloon (1 Post)
  10. fshort (1 Post)
  11. antimatter15 (1 Post)
  12. cocinerox (1 Post)
  13. tobiu (1 Post)
  14. ajaxE (2 Posts)
  15. andreyz (1 Post)
  16. devnull (4 Posts)
  17. mjlecomte (4 Posts)
  18. kevinwu8 (1 Post)
  19. rakesh (1 Post)
  20. hendricd (2 Posts)
  21. gelleneu (1 Post)
  22. isaac (1 Post)
  23. huling (1 Post)
  24. ckr (1 Post)
  25. roopa (1 Post)
  26. loveyeah (1 Post)
  27. zhfxu_cs (1 Post)
  28. Mthor (1 Post)
  29. johnlicy (1 Post)
  30. thoreking (2 Posts)
  31. csqjean (1 Post)
  32. mankz (1 Post)
  33. vietschv (1 Post)
  34. verbi (1 Post)
  35. sanjshah (2 Posts)
  36. mask_hot (1 Post)
  37. calavera (1 Post)
  38. vsmike (1 Post)
  39. vizcano (1 Post)
  40. lakehouse (1 Post)
  41. alaska (2 Posts)
  42. radtad (3 Posts)
  43. jmcneese (1 Post)
  44. Rafael (4 Posts)
  45. calvouze (1 Post)
  46. Joyfulbob (1 Post)
  47. angeldimitrov (2 Posts)
  48. Jack_S (2 Posts)
  49. g13013 (2 Posts)
  50. DamienValentine (5 Posts)
  51. Marcelo Delgado (1 Post)
  52. NoahK17 (8 Posts)
  53. anujg (1 Post)
  54. aproust94 (3 Posts)
  55. pokerking400 (1 Post)
  56. Ronhead (1 Post)
  57. krzak (3 Posts)
  58. cvieira (1 Post)
  59. Efex (5 Posts)
  60. gthe (2 Posts)
  61. miihiir (2 Posts)
  62. pops (1 Post)
  63. emredagli (12 Posts)
  64. larsa (2 Posts)
  65. maggiesnyder (3 Posts)
  66. sam.zhang (1 Post)
  67. kristalgic (1 Post)
  68. wiznia (3 Posts)
  69. frpucci (1 Post)
  70. tinakonda (1 Post)
  71. tBSTAR (1 Post)
  72. tdg2008 (1 Post)
  73. iwagon (1 Post)
  74. psarunkumar (1 Post)
  75. kimmking (1 Post)
  76. sKuD24 (1 Post)
  77. MartinL (2 Posts)
  78. BitPoet (2 Posts)
  79. snoir (3 Posts)
  80. naranda (1 Post)
  81. zhw511006 (1 Post)
  82. bobjbain (1 Post)
  83. korto (1 Post)
  84. wp.joju (1 Post)
  85. hastiok (6 Posts)
  86. dtondo (4 Posts)
  87. Dumas (1 Post)
  88. vvreddy@12 (4 Posts)
  89. TheBim (1 Post)
  90. whodat (2 Posts)
  91. Skunkerbr (2 Posts)
  92. stevenhzj (4 Posts)
  93. Naokai (1 Post)
  94. wayned@escc (2 Posts)
  95. MuadDib-DK (1 Post)
  96. jsundquist (1 Post)
  97. hardc0re (2 Posts)
  98. hzwei (4 Posts)
  99. Galileo_Galilei (1 Post)
  100. SantaBarbarian (4 Posts)
  101. stevieke (1 Post)
  102. megmefleg (1 Post)
  103. Boccara Jonathan (1 Post)
  104. Surinder singh (2 Posts)
  105. KrullWarKing (1 Post)
  106. brandnewdrew (1 Post)
  107. MrRoyce (1 Post)
  108. Spongerusher (1 Post)
  109. teraphy (2 Posts)
  110. Pekka Karalahti (3 Posts)
  111. Sergii (1 Post)
  112. Cassio11 (1 Post)
  113. myth (1 Post)
  114. spor (6 Posts)
  115. StagnantIce (2 Posts)
  116. shailendra (2 Posts)
  117. ext_user1 (1 Post)
  118. kenny_mk (1 Post)
  119. mpacheco (1 Post)
  120. Centurus (1 Post)
  121. andyfly (1 Post)
  122. darmandovargas@gmail.com (1 Post)
  123. zjuthhy (3 Posts)
  124. robshim (3 Posts)
  125. Tod (1 Post)
  126. bipen (2 Posts)
  127. alisyah (1 Post)
  128. Monz87 (1 Post)
  129. alssst (1 Post)
  130. aggie (1 Post)
  131. bradelsky (1 Post)
  132. lagrezd (1 Post)
  133. ma1986 (1 Post)
  134. Sabareesh (2 Posts)
  135. top_1 (1 Post)
  136. Vasanthoo7 (1 Post)
  137. garrek99 (2 Posts)
  138. opik (1 Post)
  139. shankar8rajah1 (1 Post)
  140. tdobberphul (4 Posts)