110,534
社区成员
发帖
与我相关
我的任务
分享
Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Add(true);
object oMissing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.Worksheet xlSheet = null;
xlSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlBook.Worksheets[1];
int rowIndex = 2;
int colIndex = 1;
int colCount = dt.Columns.Count;
int rowCount = dt.Rows.Count;
string appno=string.Empty;
string judeg=string.Empty;
//列名的处理
for (int i = 0; i < colCount; i++)
{
xlSheet.Cells[1, colIndex] = thNameArr[i];
colIndex++;
}
for (int i = 1; i < rowCount; i++)
{
colIndex = 1;
appno = dt.Rows[i][1].ToString();
for (int j = 0; j < colCount; j++)
{
judeg = dt.Rows[i][j].ToString();
if (appno == dt.Rows[i - 1][1].ToString() && judeg == dt.Rows[i - 1][j].ToString())
{
Range range = (Range)xlSheet.get_Range(dt.Rows[i][j].ToString(), dt.Rows[i - 1][j].ToString());
range.Merge(); //网上搜的合并
xlSheet.Cells[rowIndex, colIndex] = dt.Rows[i][j].ToString();
}
colIndex++;
}
rowIndex++;
}
xlSheet.Cells.EntireColumn.AutoFit();
ex {"發生例外狀況於 HRESULT: 0x800A03EC"} System.Exception {System.Runtime.InteropServices.COMException}
报这个错
USE tempdb
GO
IF OBJECT_ID('t') IS NOT NULL DROP TABLE t
CREATE TABLE t([申请单号] VARCHAR(20),[申请人] nvarchar(20),[乘客姓名] nvarchar(20))
INSERT INTO t VALUES ('1','小刘','小杨')
INSERT INTO t VALUES ('1','小刘','小李')
INSERT INTO t VALUES ('1','小刘','小刘')
INSERT INTO t VALUES ('2','小王','小王')
INSERT INTO t VALUES ('2','小小','小明')
GO
SELECT [申请单号]
,STUFF(
(SELECT ','+ [申请人] FROM t AS b WHERE a.[申请单号]=b.[申请单号] group by [申请人] for xml path('') ),1,1,'')
AS [申请人]
,STUFF(
(SELECT ','+ [乘客姓名] FROM t AS b WHERE a.[申请单号]=b.[申请单号] group by [乘客姓名] for xml path('') ),1,1,'')
AS [乘客姓名]
FROM t AS a
GROUP BY [申请单号]
int rowIndex = 2;
int colIndex = 1;
int colCount = dt.Columns.Count;
int rowCount = dt.Rows.Count;
//列名的处理
for (int i = 0; i < colCount; i++)
{
xlSheet.Cells[1, colIndex] = thNameArr[i];
colIndex++;
}
for (int i = 0; i < rowCount; i++)
{
colIndex = 1;
for (int j = 0; j < colCount; j++)
{
xlSheet.Cells[rowIndex, colIndex] = dt.Rows[i][j].ToString();
colIndex++;
}
rowIndex++;
}
我可以清空单元格数据,但是合并不知道怎么写