Javascript来导出HTML表格到Excel

当用户点击“导出”button时,我需要将我的页面中的html表导出到Excel中。 现在,我在Firefox上find了堆栈溢出的解决scheme。 在Firefox浏览器中输出dynamic的HTML表格,使其在JavaScript中performance突出 现在,它不处理像我们在这里使用的语言中常见的ö,ü,ö这样的特殊字符,所以我想问问有没有人知道我怎样才能顺利导出它们? 这是我的代码: function tabletoExcel(table, name) { var uri = 'data:application/vnd.ms-excel;base64,' , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!–[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]–></head><body><table>{table}</table></body></html>' , base64 = function (s) { return window.btoa(unescape(encodeURIComponent(s))); } , format = function (s, c) { return s.replace(/{(\w+)}/g, function (m, p) { return c[p]; }); }; if (!table.nodeType) table = document.getElementById(table); var […]

将两列中的值相乘,然后求和所有行的结果?

这是我想要实现的: A | B 10 | 2 10 | 1 10*2 = 20 10*1 = 10 20 + 10 = 30. 行范围可以是任何东西…例如2到50行。 我以为我可以用一个function来完成这个function,但是我可以把两者结合起来: =(A1*B1) + (A2*B2) + … 上面的方式工作,但我希望它能够自动添加更多的行,而不必单独写入,通过使用范围。 就像是: =SUM((C3*D3):(C14*D14)) 我会很感激任何帮助。

如何在VBA中恢复默认情况下的variables(Excel 2010)?

在某些时候,我不小心命名了一个variablesrange (全部小写),从那时起,Visual Basic for Applications编辑器拒绝使用Range (Pascal-cased)。 它会自动纠正它为小写。 我怎样才能重置它的“大脑”来忘记我过去的犯罪呢? 注意:我尝试了全局replace,但是当我编辑任何一行代码时,它再次进行了重新更正。 很明显,这是一个非常小的化妆品问题,但是每当我inputRange都会看到R发软。

Microsoft.Office.Interop.Excel.ApplicationClass没有定义的构造函数

我试图按照如何在C#教程中打开一个Excel文件 ,即在Com选项卡上添加一个引用到Microsoft Office 14.0 Object Library并尝试编译代码: using Excel = Microsoft.Office.Interop.Excel; //… Excel.Application xlApp; Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; xlApp = new Excel.ApplicationClass();//error here //… 并面临编译时的错误,说 没有为Microsoft.Office.Interop.Excel.ApplicationClasstypes定义构造函数。 我错过了什么?

将string转换为单元格中的date

Excel中有100000行数据。 某些字段是date,但Excel中的字段是文本。 我需要数字格式的这些字段,包括date和时间(例如21.10.2011 13:10:50)。 格式化单元格不起作用,因为它不会更改数据types。 我可以用公式selectdate和时间,但不能将它们放在同一个单元格中。 所以我正在寻找的是计算一个date的数字表示的公式(如果你把一个date格式化为一个数字的话)。

工作表类的ShowAllData方法失败

我注意到,当有一个自动filter已经打开我的VBA脚本不起作用。 任何想法,为什么这是? wbk.Activate Set Criteria = Sheets("Sheet1").Cells(i, 1) Set rng = Sheets("Sheet1").Range(Cells(i, 2), Cells(i, 4)) wb.Activate If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData 'remove autofilter, but it crashes on this line Selection.AutoFilter Range("$A$1:$BM$204").AutoFilter Field:=2, Criteria1:=Criteria.Value rng.Copy Range("$BC$2:$BE$204").SpecialCells(xlCellTypeVisible).PasteSpecial 非常感谢

在打开Excel和TextEdit时编码UTF8 CSV文件的问题

我最近添加了一个CSV下载button,从数据库(Postgres)从服务器(Ruby on Rails)中获取数据,并将其转换为客户端(Javascript,HTML5)上的CSV文件。 我目前正在testing的CSV文件,我遇到了一些编码问题。 当我通过“less”查看CSV文件时,文件显示正常。 但是当我在Excel或TextEdit中打开文件时,我开始看到奇怪的字符 “,” 出现在文本中。 基本上,我看到这里描述的字符: http : //digwp.com/2011/07/clean-up-weird-characters-in-database/ 我知道当数据库编码设置被设置为错误的时候会出现这样的问题。 但是,我使用的数据库被设置为使用UTF8编码。 当我通过创buildCSV文件的JS代码进行debugging时,文本显示正常。 (这可能是一个Chrome的能力,而且能力较低) 我感到沮丧,因为我从我的在线search中学到的唯一的东西是,编码不能工作的原因可能有很多,我不确定哪个部分是错的(所以请原谅我最初标记了很多东西) ,而我所尝试的一切都为我的问题揭开了新的一页。 作为参考,这里是创buildCSV文件的JavaScript片段! $(document).ready(function() { var csvData = <%= raw to_csv(@view_scope, clicks_post).as_json %>; var csvContent = "data:text/csv;charset=utf-8,"; csvData.forEach(function(infoArray, index){ var dataString = infoArray.join(","); csvContent += dataString+ "\n"; }); var encodedUri = encodeURI(csvContent); var button = $('<a>'); button.text('Download CSV'); button.addClass("button […]

C# – 如何以编程方式添加Excel工作表 – Office XP / 2003

我刚刚开始通过C#拨动Excel,以便能够自动创build,并添加到Excel文件。 我可以打开文件并更新其数据并移动现有的工作表。 我的问题是如何添加新的床单? 我试过了: Excel.Worksheet newWorksheet; newWorksheet = (Excel.Worksheet)excelApp.ThisWorkbook.Worksheets.Add( Type.Missing, Type.Missing, Type.Missing, Type.Missing); 但是我得到COMexception ,我的谷歌search没有给我任何答案。 来自HRESULT的exception:0x800A03EC来源是:“Interop.Excel” 我希望有人能把我从痛苦中解救出来。

在Excel中以千位(K)格式编号

在MS Excel中,我想格式化一个数字,以显示只有成千上万,并从它的'K',所以数字123000将显示在单元格123K 很容易格式化,只显示数千(123),但我想添加K符号的情况下,数字是> 1000,所以一个123号单元格将显示123 123000一个单元格将显示123K 任何想法如何格式单元格 – >自定义filter可以使用? 谢谢!

VBA Excel按特定列sorting范围

我有一个表可以包含任意数量的行: 正如我所说,它可以包含1或∞行。 我想通过列B中的Date单元格来sorting范围A3:D∞。我该怎么做? 问题是我不知道如何从A3select到最后一行。 我认为循环到最后一行不是一个正确的方法。 我到目前为止,它看起来像正确的,但范围是硬编码。 我如何摆脱范围的硬编码? Range("A3:D8").Sort key1:=Range("B3:B8"), _ order1:=xlAscending, Header:=xlNo