{"id":177,"date":"2022-06-29T10:34:55","date_gmt":"2022-06-29T02:34:55","guid":{"rendered":"http:\/\/yanzhenhua.top\/?p=177"},"modified":"2022-06-29T10:34:55","modified_gmt":"2022-06-29T02:34:55","slug":"ruby-excel-%e5%af%bc%e5%87%ba","status":"publish","type":"post","link":"http:\/\/yanzhenhua.top\/?p=177","title":{"rendered":"ruby Excel \u5bfc\u51fa"},"content":{"rendered":"<ol class=\"ol-list\">\n<li class=\"md-list-item\">\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u4f7f\u7528Spreadsheet<\/span><\/p>\n<\/li>\n<\/ol>\n<ol class=\"ol-list\">\n<li class=\"md-list-item\">\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u8bfb\u53d6excel\u6587\u4ef6<\/span><\/p>\n<\/li>\n<\/ol>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u9996\u5148\uff0c\u4fdd\u8bc1\u52a0\u8f7d\u5e93\u6587\u4ef6\uff0c\u5426\u5219\u529f\u80fd\u6ca1\u6cd5\u7528<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"><span class=\"cm-keyword\">require<\/span> <span class=\"cm-string\">\"spreadsheet\"<\/span><\/pre>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">excel\u5de5\u4f5c\u6587\u4ef6\uff08Worksheets\uff09\u901a\u5e38\u6709\u591a\u79cd\u7f16\u7801\u683c\u5f0f\uff0c\u8fd9\u91cc\u9700\u8981\u624b\u52a8\u8868\u660e\u683c\u5f0f\u5982\u4e0b\uff1a<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"><span class=\"cm-tag\">Spreadsheet<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">client_encoding<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-string\">\"UTF-8\"<\/span><\/pre>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u6253\u5f00\u4e00\u4e2aexcel\u7684\u6587\u4ef6<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"><span class=\"cm-variable\">book<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-tag\">Spreadsheet<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">open<\/span> <span class=\"cm-string\">\"\/path\/to\/an\/excel-file.xls\"<\/span><\/pre>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u8fd9\u65f6\uff0c\u6211\u4eec\u5df2\u7ecf\u53ef\u4ee5\u5bf9excel\u6587\u4ef6\u7684worksheets\u8fdb\u884c\u8bfb\u5199<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"><span class=\"cm-variable\">book<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">worksheets<\/span><\/pre>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u6216\u8005\uff0c\u589e\u52a0\u6807\u8bc6\u7684\u8fdb\u884c\u8bfb\u5199\uff1a<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"><span class=\"cm-variable\">sheet1<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-variable\">book<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">worksheet<\/span> <span class=\"cm-number\">0<\/span> \u00a0<span class=\"cm-variable\">sheet2<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-tag\">Book<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">worksheet<\/span> <span class=\"cm-string\">\"Sheet1\"<\/span><\/pre>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u90a3\u4e48\uff0c\u73b0\u5728\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u8fed\u4ee3\u6765\u904d\u5386\u6240\u6709\u7684\u884c\u5217\uff0cWorksheet.each\u81ea\u8eab\u4f1a\u8df3\u8fc7\u7a7a\u503c\u3002<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"><span class=\"cm-variable\">sheet1<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">each<\/span> <span class=\"cm-keyword\">do<\/span> |<span class=\"cm-def\">row<\/span>| \u00a0 \u00a0<span class=\"cm-comment\"># do something interesting with a row end<\/span><\/pre>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u6216\u8005\uff0c\u624b\u52a8\u8df3\u8fc7\u524d\u9762\u7684\u7a7a\u503c<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"><span class=\"cm-variable\">sheet2<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">each<\/span> <span class=\"cm-number\">2<\/span> <span class=\"cm-keyword\">do<\/span> |<span class=\"cm-def\">row<\/span>| \u00a0 \u00a0<span class=\"cm-comment\"># do something interesting with a row end<\/span><\/pre>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u6216\u8005\uff0c\u901a\u8fc7\u987a\u5e8f\u53f7\u8bbf\u95ee\uff0c<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"><span class=\"cm-variable\">row<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-variable\">sheet1<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">row<\/span>(<span class=\"cm-number\">3<\/span>)<\/pre>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u8bfb\u53d6\u884c\u4e2d\u4e00\u4e2a\u5355\u5143\u683c\u7684\u503c<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"code\">row[0]<\/pre>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u8fd9\u91cc\u5c06\u8fd4\u56de\u4e00\u4e2aString\u5b57\u7b26\u4e32\uff0cFloat\u6216\u8005\u6574\u5f62\uff08Integer\uff09\u6216\u8005Formula\u6216\u8005Link\u6216\u8005Date\u6216\u8005DateTime\u3002\u751a\u81f3nil\u503c\uff0c\u5982\u679c\u8868\u5355\u503c\u672c\u6765\u5c31\u662f\u7a7a\u503c\u3002<\/span><\/p>\n<ol class=\"ol-list\">\n<li class=\"md-list-item\">\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u751f\u6210excel\u6587\u4ef6<\/span><span class=\"md-softbreak\">\u00a0<\/span><span class=\"md-plain\">\u5982\u679c\uff0c\u4f60\u60f3\u751f\u6210\u4e00\u4e2aexcel\u6587\u4ef6\uff0c\u90a3\u4e48\u9996\u5148\uff0c\u5c31\u50cf\u5199\u6587\u4ef6\u4e00\u4e2a\u5148\u52a0\u8f7dspreadsheet\u7c7b\u5e93\uff0c\u7136\u540e\uff0c\u6307\u5b9a\u7f16\u7801\u63a5\u7740\uff0c\u5c31\u53ef\u4ee5\u521b\u5efa\u4e00\u4e2aWorkbook\u4e86<\/span><\/p>\n<\/li>\n<\/ol>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"> \u00a0<span class=\"cm-variable\">book<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-atom\">Spreadsheet::Workbook<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">new<\/span><\/pre>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u5728workbook\u57fa\u7840\u4e0a\u521b\u5efaWorksheet\u8868\u5355<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"><span class=\"cm-variable\">sheet1<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-variable\">book<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">create_worksheet<\/span><\/pre>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u5f53\u7136\uff0c\u4f60\u4e5f\u53ef\u4ee5\u7528\u5982\u4e0b\u65b9\u5f0f\u521b\u5efa\u8868\u5355\uff1a<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"><span class=\"cm-variable\">sheet2<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-variable\">book<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">create_worksheet<\/span> <span class=\"cm-atom\">:name<\/span> <span class=\"cm-operator\">=&gt;<\/span> <span class=\"cm-string\">'My Second Worksheet'<\/span> \u00a0<span class=\"cm-variable\">sheet1<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">name<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-string\">'My First Worksheet'<\/span><\/pre>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u90a3\u4e48\uff0c\u8fd9\u65f6\u6211\u4eec\u53ef\u4ee5\u91c7\u7528\u5982\u4e0b\u65b9\u5f0f\u52a0\u8f7d\u6570\u636e\u5230\u8868\u5355Worksheet#[]=,<\/span><span class=\"md-softbreak\">\u00a0<\/span><span class=\"md-plain\">Worksheet#update_row, \u6216\u8005\u76f4\u63a5\u7ed9\u4e00\u4e2a\u6307\u5b9a\u5355\u5143\u683c\u590d\u5236<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"> \u00a0<span class=\"cm-variable\">sheet1<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">row<\/span>(<span class=\"cm-number\">0<\/span>)<span class=\"cm-operator\">.<\/span><span class=\"cm-property\">concat<\/span> <span class=\"cm-string\">%w{Name Country Acknowlegement}<\/span>\r\n \u00a0<span class=\"cm-variable\">sheet1<\/span>[<span class=\"cm-number\">1<\/span>,<span class=\"cm-number\">0<\/span>] <span class=\"cm-operator\">=<\/span> <span class=\"cm-string\">'Japan'<\/span>\r\n \u00a0<span class=\"cm-variable\">row<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-variable\">sheet1<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">row<\/span>(<span class=\"cm-number\">1<\/span>)\r\n \u00a0<span class=\"cm-variable\">row<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">push<\/span> <span class=\"cm-string\">'Creator of Ruby'<\/span>\r\n \u00a0<span class=\"cm-variable\">row<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">unshift<\/span> <span class=\"cm-string\">'Yukihiro Matsumoto'<\/span>\r\n \u00a0<span class=\"cm-variable\">sheet1<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">row<\/span>(<span class=\"cm-number\">2<\/span>)<span class=\"cm-operator\">.<\/span><span class=\"cm-property\">replace<\/span> [<span class=\"cm-string\">'Daniel J. Berger'<\/span>, <span class=\"cm-string\">'U.S.A.'<\/span>,<span class=\"cm-string\">'Author of original code for Spreadsheet::Excel'<\/span>]\r\n \u00a0<span class=\"cm-variable\">sheet1<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">row<\/span>(<span class=\"cm-number\">3<\/span>)<span class=\"cm-operator\">.<\/span><span class=\"cm-property\">push<\/span> <span class=\"cm-string\">'Charles Lowe'<\/span>, <span class=\"cm-string\">'Author of the ruby-ole Library'<\/span>\r\n \u00a0<span class=\"cm-variable\">sheet1<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">row<\/span>(<span class=\"cm-number\">3<\/span>)<span class=\"cm-operator\">.<\/span><span class=\"cm-property\">insert<\/span> <span class=\"cm-number\">1<\/span>, <span class=\"cm-string\">'Unknown'<\/span>\r\n \u00a0<span class=\"cm-variable\">sheet1<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">update_row<\/span> <span class=\"cm-number\">4<\/span>, <span class=\"cm-string\">'Hannes Wyss'<\/span>, <span class=\"cm-string\">'Switzerland'<\/span>, <span class=\"cm-string\">'Author'<\/span><\/pre>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u5bf9\u4e8e\u683c\u5f0f\u7684\u5904\u7406\uff0c\u53ef\u4ee5\u5982\u4e0b\uff1a<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"> \u00a0<span class=\"cm-variable\">sheet1<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">row<\/span>(<span class=\"cm-number\">0<\/span>)<span class=\"cm-operator\">.<\/span><span class=\"cm-property\">height<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-number\">18<\/span>\r\n \u00a0<span class=\"cm-variable\">format<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-atom\">Spreadsheet::Format<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">new<\/span> <span class=\"cm-atom\">:color<\/span> <span class=\"cm-operator\">=&gt;<\/span> <span class=\"cm-atom\">:blue<\/span>, <span class=\"cm-atom\">:weight<\/span> <span class=\"cm-operator\">=&gt;<\/span> <span class=\"cm-atom\">:bold<\/span>, <span class=\"cm-atom\">:size<\/span> <span class=\"cm-operator\">=&gt;<\/span> <span class=\"cm-number\">18<\/span>\r\n \u00a0<span class=\"cm-variable\">sheet1<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">row<\/span>(<span class=\"cm-number\">0<\/span>)<span class=\"cm-operator\">.<\/span><span class=\"cm-property\">default_format<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-variable\">format<\/span>\r\n \u00a0<span class=\"cm-variable\">bold<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-atom\">Spreadsheet::Format<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">new<\/span> <span class=\"cm-atom\">:weight<\/span> <span class=\"cm-operator\">=&gt;<\/span> <span class=\"cm-atom\">:bold<\/span>\r\n \u00a0<span class=\"cm-number\">4<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">times<\/span> <span class=\"cm-keyword\">do<\/span> |<span class=\"cm-def\">x<\/span>|\r\n \u00a0 \u00a0<span class=\"cm-variable\">sheet1<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">row<\/span>(<span class=\"cm-variable\">x<\/span> <span class=\"cm-operator\">+<\/span> <span class=\"cm-number\">1<\/span>)<span class=\"cm-operator\">.<\/span><span class=\"cm-property\">set_format<\/span>(<span class=\"cm-number\">0<\/span>, <span class=\"cm-variable\">bold<\/span>)\r\n \u00a0<span class=\"cm-keyword\">end<\/span><\/pre>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u6700\u540e\uff0c\u4fdd\u5b58excel\u6587\u4ef6<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"> \u00a0<span class=\"cm-variable\">book<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">write<\/span> <span class=\"cm-string\">'\/path\/to\/output\/excel-file.xls'<\/span><\/pre>\n<ol class=\"ol-list\">\n<li class=\"md-list-item\">\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u4fee\u6539\u5df2\u7ecf\u5b58\u5728\u7684excel\u6587\u4ef6<\/span><\/p>\n<\/li>\n<\/ol>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u5bf9\u4e8e\u4fee\u6539excel\u6587\u4ef6\u800c\u8a00\u662f\u6709\u9650\u5236\u7684\u3002\u4e0b\u9762\u662f<\/span><span class=\"md-softbreak\">\u00a0<\/span><span class=\"md-plain\">\u53ef\u4ee5\u8fdb\u884c\u7684\u4fee\u6539\u64cd\u4f5c\uff1a<\/span><span class=\"md-softbreak\">\u00a0<\/span>*<span class=\"md-plain\">\u00a0\u6dfb\u52a0\u3001\u4fee\u6539\u548c\u5220\u9664\u5355\u5143\u683c<\/span><span class=\"md-softbreak\">\u00a0<\/span>*<span class=\"md-plain\">\u00a0\u53ef\u4ee5\u5728\u9884\u5b9a\u4e49\u6570\u636e\u7684\u60c5\u51b5\u4e0b\u6dfb\u52a0\u6570\u636e<\/span><span class=\"md-softbreak\">\u00a0<\/span><span class=\"md-plain\">\u4e0d\u53ef\u4ee5\u8fdb\u884c\u7684\u64cd\u4f5c:<\/span><span class=\"md-softbreak\">\u00a0<\/span>*<span class=\"md-plain\">\u00a0Spreadsheet \u53ea\u80fd\u5bf9BIFF8\u6570\u636e\uff08Dxcel97\u4ee5\u540e\u7248\u672c\u7684excel\uff09\u8fdb\u884c\u5199\u64cd\u4f5c<\/span><span class=\"md-softbreak\">\u00a0<\/span>*<span class=\"md-plain\">\u00a0Spreadsheet \u4e0d\u80fd\u4fee\u6539\u4ee5\u767e\u5206\u6bd4\u5b9a\u4e49\u7684\u683c\u5f0f.<\/span><span class=\"md-softbreak\">\u00a0<\/span>*<span class=\"md-plain\">\u00a0\u867d\u7136\u7406\u8bba\u4e0a\u662f\u53ef\u884c\u7684\uff0c\u4f46\u662f\u975e\u5e38\u4e0d\u5efa\u8bae\u628a\u4fee\u6539\u540e\u7684\u6587\u4ef6\u4fdd\u5b58\u56de\u539f\u6587\u4ef6\u3002<\/span><\/p>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u4fee\u6539\u6f14\u793a:<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"> \u00a0<span class=\"cm-variable\">book<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-tag\">Spreadsheet<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">open<\/span> <span class=\"cm-string\">'\/path\/to\/an\/excel-file.xls'<\/span>\r\n \u00a0<span class=\"cm-variable\">sheet<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-variable\">book<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">worksheet<\/span> <span class=\"cm-number\">0<\/span>\r\n \u00a0<span class=\"cm-variable\">sheet<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">each<\/span> <span class=\"cm-keyword\">do<\/span> |<span class=\"cm-def\">row<\/span>|\r\n \u00a0 \u00a0<span class=\"cm-variable\">row<\/span>[<span class=\"cm-number\">0<\/span>] <span class=\"cm-operator\">*=<\/span> <span class=\"cm-number\">2<\/span>\r\n \u00a0<span class=\"cm-keyword\">end<\/span>\r\n \u00a0<span class=\"cm-variable\">book<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">write<\/span> <span class=\"cm-string\">'\/path\/to\/output\/excel-file.xls'<\/span><\/pre>\n<ol class=\"ol-list\">\n<li class=\"md-list-item\">\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u5982\u4f55\u5904\u7406\u65f6\u95f4<\/span><\/p>\n<\/li>\n<\/ol>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">Excel \u5e76\u6ca1\u6709\u5355\u72ec\u7684\u65e5\u671f\u6807\u8bc6\u7c7b\u578b\uff0c\u4f9d\u9760\u6d6e\u70b9\u7c7b\u578b\u683c\u5f0f\u663e\u793a<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"> \u00a0<span class=\"cm-variable\">row<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">format<\/span>(<span class=\"cm-number\">3<\/span>)<span class=\"cm-operator\">.<\/span><span class=\"cm-property\">number_format<\/span><\/pre>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u5982\u679c\uff0c\u65e5\u8d77\u8bc6\u522b\u5931\u8d25\uff0c\u5c31\u9700\u8981\u81ea\u5df1\u89e3\u7801\uff1a<\/span><\/p>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"> \u00a0<span class=\"cm-variable\">row<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">date<\/span>(<span class=\"cm-number\">3<\/span>)\r\n \u00a0<span class=\"cm-variable\">row<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">datetime<\/span>(<span class=\"cm-number\">3<\/span>)\r\n \u00a0<span class=\"cm-variable\">row<\/span>[<span class=\"cm-number\">4<\/span>] <span class=\"cm-operator\">=<\/span> <span class=\"cm-tag\">Date<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">new<\/span> <span class=\"cm-number\">1975<\/span>, <span class=\"cm-number\">8<\/span>, <span class=\"cm-number\">21<\/span> \u00a0<span class=\"cm-comment\"># -&gt; \u65e5\u8d77\u7c7b\u578b: 'M\/D\/YY'<\/span>\r\n \u00a0<span class=\"cm-variable\">book<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">add_format<\/span> <span class=\"cm-tag\">Format<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">new<\/span>(<span class=\"cm-atom\">:number_format<\/span> <span class=\"cm-operator\">=&gt;<\/span> <span class=\"cm-string\">'DD.MM.YYYY hh:mm:ss'<\/span>)\r\n \u00a0<span class=\"cm-variable\">row<\/span>[<span class=\"cm-number\">5<\/span>] <span class=\"cm-operator\">=<\/span> <span class=\"cm-tag\">DateTime<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">new<\/span> <span class=\"cm-number\">2008<\/span>, <span class=\"cm-number\">10<\/span>, <span class=\"cm-number\">12<\/span>, <span class=\"cm-number\">11<\/span>, <span class=\"cm-number\">59<\/span> \u00a0<span class=\"cm-comment\"># -&gt; \u6307\u5b9a\u65f6\u95f4\u7c7b\u578b: 'DD.MM.YYYY hh:mm:ss'<\/span>\r\n \u00a0<span class=\"cm-variable\">row<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">set_format<\/span> <span class=\"cm-number\">6<\/span>, <span class=\"cm-tag\">Format<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">new<\/span>(<span class=\"cm-atom\">:number_format<\/span> <span class=\"cm-operator\">=&gt;<\/span> <span class=\"cm-string\">'D-MMM-YYYY'<\/span>)\r\n \u00a0<span class=\"cm-variable\">row<\/span>[<span class=\"cm-number\">6<\/span>] <span class=\"cm-operator\">=<\/span> <span class=\"cm-tag\">Time<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">new<\/span> <span class=\"cm-number\">2008<\/span>, <span class=\"cm-number\">10<\/span>, <span class=\"cm-number\">12<\/span> <span class=\"cm-comment\"># -&gt; the Format of cell 6 is left unchanged.<\/span><\/pre>\n<ol class=\"ol-list\">\n<li class=\"md-list-item\">\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u66f4\u591a\u5173\u4e8e\u6587\u6863\u7684\u7f16\u7801\u683c\u5f0f<\/span><span class=\"md-softbreak\">\u00a0<\/span><span class=\"md-plain\">\u8bbe\u7f6e\u591a\u79cd\u7f16\u7801\u683c\u5f0f\uff1a<\/span><\/p>\n<\/li>\n<\/ol>\n<pre class=\"md-fences md-end-block ty-contain-cm modeLoaded\" lang=\"ruby\"><span class=\"cm-tag\">Spreadsheet<\/span><span class=\"cm-operator\">.<\/span><span class=\"cm-property\">client_encoding<\/span> <span class=\"cm-operator\">=<\/span> <span class=\"cm-string\">'LATIN1\/\/TRANSLIT\/\/IGNORE'<\/span><\/pre>\n<ol class=\"ol-list\">\n<li class=\"md-list-item\">\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">\u517c\u5bb9\u6027\u95ee\u9898<\/span><\/p>\n<\/li>\n<\/ol>\n<p class=\"md-end-block md-p\"><span class=\"md-plain\">Spreadsheet\u662f\u8bbe\u8ba1\u6765\u4ee3\u66ffParseExcel \u548cSpreadsheet::Excel\uff0c\u4f46\u662f\u4ed6\u4eec\u8fd8\u662f\u517c\u5bb9\u7684\u3002\u4f8b\u5982\u4f60\u7684\u5de5\u7a0b\u7406\u8fd8\u6709parseexcel\u90a3\u4e48\uff0c\u4f60\u53ef\u4ee5\u8fd9\u6837\u5199<\/span><br \/>\nrequire &#8216;parseexcel&#8217;\u00a0 require &#8216;parseexcel\/parseexcel&#8217;\u00a0 require &#8216;parseexcel\/parser&#8217;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4f7f\u7528Spreadsheet \u8bfb\u53d6excel\u6587\u4ef6 \u9996\u5148\uff0c\u4fdd\u8bc1\u52a0\u8f7d\u5e93\u6587\u4ef6\uff0c\u5426\u5219\u529f\u80fd\u6ca1\u6cd5\u7528 require&hellip; <a href=\"http:\/\/yanzhenhua.top\/?p=177\" class=\"more-link read-more\" rel=\"bookmark\">\u7ee7\u7eed\u9605\u8bfb <span class=\"screen-reader-text\">ruby Excel \u5bfc\u51fa<\/span><i class=\"fa fa-arrow-right\"><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":{"0":"post-177","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"hentry","6":"category-ruby","7":"h-entry","9":"h-as-article"},"_links":{"self":[{"href":"http:\/\/yanzhenhua.top\/index.php?rest_route=\/wp\/v2\/posts\/177","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/yanzhenhua.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/yanzhenhua.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/yanzhenhua.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/yanzhenhua.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=177"}],"version-history":[{"count":1,"href":"http:\/\/yanzhenhua.top\/index.php?rest_route=\/wp\/v2\/posts\/177\/revisions"}],"predecessor-version":[{"id":178,"href":"http:\/\/yanzhenhua.top\/index.php?rest_route=\/wp\/v2\/posts\/177\/revisions\/178"}],"wp:attachment":[{"href":"http:\/\/yanzhenhua.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/yanzhenhua.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=177"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/yanzhenhua.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}