62,041
社区成员
发帖
与我相关
我的任务
分享
//填充内容
for (int i = 0; i < dt.Rows.Count; i++)
{
dataRow = sheet.CreateRow(i + 1); //跳过列名
for (int j = 0; j < dt.Columns.Count; j++)
{
ICell icell = dataRow.CreateCell(j);
icell.SetCellValue(dt.Rows[i][j].ToString());
icell.CellStyle = style; //给单元格赋值和样式
if (i + 1 != dt.Rows.Count && key != 999)
{
if (dt.Rows[i][key].ToString() == dt.Rows[i + 1][key].ToString())
{
if (dt.Rows[i][j].ToString() == dt.Rows[i + 1][j].ToString())
{
sheet.AddMergedRegion(new CellRangeAddress(i + 1, i + 2, j, j));
}
else
{
if (string.IsNullOrEmpty(cellstr))
{
cellstr = dt.Rows[i][j].ToString();
row = i + 1;
}
cellstr += "\n" + dt.Rows[i + 1][j].ToString();
sheet.AddMergedRegion(new CellRangeAddress(i + 1, i + 2, j, j));
sheet.CreateRow(row).CreateCell(j).SetCellValue(cellstr); //就是这句有问题。我取合并时第一个单元格的坐标,然后赋值。上面的icell 赋值和样式就都没了
}
}
else
{
cellstr = string.Empty;
row = 0;
}
}
}
}
$(function () {
$("#btnPrint").click(function () {
$.ajax({
url: '/SCRP0101/GetPrintSendCar',
type: "GET",
data: {},
success: function (data) {
$("#disposeDiv").empty().append(data); //加这句就会打开table页面,不加接收不到table的返回值,打印是空白
bdhtml = window.document.body.innerHTML;
sprnstr = "<!--startprint-->";
eprnstr = "<!--endprint-->";
prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr) + 17);
prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr));
window.document.body.innerHTML = prnhtml;
window.print();
},
error: function (msg) {
alert('失败了,可能后台报错');
},
});
})
});