private void toolExport_Click(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; if (DBGrid1.CurrentRow == null) { return; } IList <modExcelRangeData> list = new List <modExcelRangeData>(); dalAccPeriodList dalp = new dalAccPeriodList(); modAccPeriodList modp = dalp.GetItem(cboAccName.ComboBox.SelectedValue.ToString(), out Util.emsg); list.Add(new modExcelRangeData(modp.EndDate.ToString("yyyy年MM月dd日"), "D3", "F3")); for (int i = 0; i < DBGrid1.RowCount; i++) { modAccAssetDebtReport modd = (modAccAssetDebtReport)DBGrid1.Rows[i].DataBoundItem; list.Add(new modExcelRangeData(modd.SubjectName, "A" + (6 + i).ToString().Trim(), "A" + (6 + i).ToString().Trim())); list.Add(new modExcelRangeData((i + 1).ToString(), "B" + (6 + i).ToString().Trim(), "B" + (6 + i).ToString().Trim())); list.Add(new modExcelRangeData(string.Format("{0:C2}", modd.YearStartMny), "C" + (6 + i).ToString().Trim(), "C" + (6 + i).ToString().Trim())); list.Add(new modExcelRangeData(string.Format("{0:C2}", modd.EndMny), "D" + (6 + i).ToString().Trim(), "D" + (6 + i).ToString().Trim())); } int rowindex = -1; for (int i = 0; i < DBGrid2.RowCount; i++) { modAccAssetDebtReport modd = (modAccAssetDebtReport)DBGrid2.Rows[i].DataBoundItem; if (modd.SubjectId.IndexOf("9135") < 0 || modd.SubjectId.Length != 8) { rowindex++; list.Add(new modExcelRangeData(modd.SubjectName, "F" + (6 + rowindex).ToString().Trim(), "F" + (6 + rowindex).ToString().Trim())); list.Add(new modExcelRangeData((rowindex + 1).ToString(), "G" + (6 + rowindex).ToString().Trim(), "G" + (6 + rowindex).ToString().Trim())); list.Add(new modExcelRangeData(string.Format("{0:C2}", modd.YearStartMny), "H" + (6 + rowindex).ToString().Trim(), "H" + (6 + rowindex).ToString().Trim())); list.Add(new modExcelRangeData(string.Format("{0:C2}", modd.EndMny), "I" + (6 + rowindex).ToString().Trim(), "I" + (6 + rowindex).ToString().Trim())); } } clsExport.ExportByTemplate(list, "资产负债表", 1, Util.Max(DBGrid1.RowCount, rowindex) + 2, 9, 1); } catch (Exception ex) { MessageBox.Show(ex.Message, clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Information); return; } finally { this.Cursor = Cursors.Default; } }