C#合并多个结构一样的Excel(3)$ o# g _' n/ I d& T2 z/ p
void OpenBook(string fileName)
7 d% |5 W( s% ~; P {3 C+ ]+ _9 H2 P* K
bookSource = app.Workbooks._Open(fileName, Missing.Value, Missing.Value, Missing.Value, Missing.Value% B7 a/ M, j( D$ X
, Missing.Value, Missing.Value, Missing.Value, Missing.Value
; t8 P+ P5 r3 W; i2 ^ , Missing.Value, Missing.Value, Missing.Value, Missing.Value);( H/ k1 Y2 r: I) i
sheetSource = bookSource.Worksheets[1] as Excel.Worksheet;% l+ q1 `- U$ i( z" g& j
}+ M/ N- A' {; n( q
///
% i U& t: y7 ?2 e /// 关闭工作表
' I/ K Q* `% ?2 J ///
1 S' ]9 }" A4 E1 ^7 F void CloseBook()% s' W3 v. L' x
{7 Z3 g, u% |' ?4 p
bookSource.Close(false, Missing.Value, Missing.Value);0 k3 ]1 S; D9 T: ]
}
) [# x5 L+ M; `, w ///# m1 p) b9 e- p* G! n3 [
/// 复制表头
" H( @5 {/ }/ W3 M( G4 {) s ///
/ f! S5 h. q# ~* T/ Q: T+ X' L void CopyHeader()" E5 e( i1 E8 m! Z' ~+ S5 Y5 T
{
x2 B5 R- F* T' Y Excel.Range range = sheetSource.get_Range("A1", _columnEnd + _headerRowCount.ToString());+ M# F3 S! B( q5 I
range.Copy(sheetDest.get_Range("A1",Missing.Value));5 F3 ` I2 A( B: F+ B
_currentRowCount += _headerRowCount;& a# a$ A1 `, b w$ a( \) W( x
}8 L* ]) U$ Z2 ?8 L3 [( r
///# P$ |+ g+ H4 j, S. N- P: V
/// 复制数据& \3 c5 s# q6 K4 J) e6 F
///
3 K$ K9 s) \$ P; R# v' f/ W4 Y1 T$ r void CopyData()6 Q6 K/ [; P4 p; y$ j
{
1 z1 o: n* H/ S+ N+ ^ int sheetRowCount = sheetSource.UsedRange.Rows.Count;' Y; y9 t& [* I& a5 w
Excel.Range range = sheetSource.get_Range(string.Format("A{0}", _headerRowCount + 1), _columnEnd + sheetRowCount.ToString()); b9 F* I/ c6 K/ W5 X% C6 P# ?
range.Copy(sheetDest.get_Range(string.Format("A{0}", _currentRowCount + 1), Missing.Value));* t8 M) Y, X* w4 f0 a0 g0 U% `
_currentRowCount += range.Rows.Count; |