在頁面的<br />致使導出Excel中是會以多行的方式顯示,達不到頁面在一個單元格中進行換行,爲此咱們有如下兩種方式:javascript
1.CSS樣式方式css
<br style='mso-data-placement:same-cell;'/>
2.JS方式,若是可以100%命中的話,採用這種方式最好。html
<script type="text/javascript"> function toPcmExcel() { var myExcel, myBook; try { myExcel = new ActiveXObject("Excel.Application"); } catch (e) { try { myExcel = new ActiveXObject("ET.Application"); } catch (e) { alert("您的電腦沒有安裝Microsoft Excel或WPS軟件!"); return; } } var excelRep = "------"; var sel = document.body.createTextRange(); var obj = document.getElementById("div_Report"); var html = obj.innerHTML;//html副本 obj.innerHTML = obj.innerHTML.replace(/<br\s*\/?>/gi, (excelRep)); sel.moveToElementText(document.all.div_Report); sel.select(); document.execCommand('Copy'); document.execCommand('Unselect'); myExcel.Visible = true; myBook = myExcel.Workbooks.Add(); var sheet = myBook.sheets(1); sheet.name = document.all.tb_hiddenReportTitle.innerText; sheet.columns.ColumnWidth = 20; sheet.columns(3).ColumnWidth = 25; sheet.columns(5).ColumnWidth = 25; sheet.paste(); obj.innerHTML = html;//恢復副本 var itemCount = 2; for (var i = 1; i < 1000; i++) { //替換命中值 if (sheet.rows(i).cells(1).value == priceText) { sheet.rows(i).cells(2).replace(excelRep, '\n');//將頁面<br>換成Excel的換行符 itemCount--; } if (sheet.rows(i).cells(1).value == CartonNoText) { sheet.rows(i).cells(2).replace(excelRep, '\n'); itemCount--; } if (itemCount == 0) break; } } </script>