1. 22
  1.  

  2. 3

    I wonder why is it so slow. 300K rows isn’t that much these days. The problem boils down to string concatenation and escaping, so 10K rows/s should be doable. I’d expect that root cause of the problem is conversion code using some inefficient approach, like accidentally reallocating the buffer on every append or using very high-level document representation that made it accidentally quadratic, like document.findTable(0).appendRow(new Row()).

    1. 2

      A customer had a program that opened a very large spreadsheet in Excel. Very large, like over 300,000 rows. They then selected all of the rows in the very large spreadsheet, copied those rows to the clipboard, and then ran a program that tried to extract the data. The program used the Get­Clipboard­Data function to retrieve the data in Rich Text Format.

      The customer is always right, but the customer is also often dumb.

      1. 18

        Copy/paste is the only form of IPC for GUIs in many cases, though. It could be stupidity, but it might be necessity :|

        1. 2

          Yeah I do a lot of cross-GUI automation with AutoHotKey and the best way to move data around is to store it on the clipboard.

        2. 5

          Next time, we’ll see what we can do to extend this timeout.

          :sigh:

          1. -1

            The blog post could have been a tweet, and the “next time” could have been a second tweet.

        3. 1

          I wonder if a solution could be to close Excel before pasting, triggering the prompt to save or discard the copied data. Or perhaps that uses the same timeout.