先传递数据
DataTable dt = new DataTable();
dt.Columns.Add("qq");
dt.Columns.Add("mm");
dt.Columns.Add("ww");
DataRow row = dt.NewRow();
row["qq"] = " s1 ";
row["mm"] = "s2";
row["ww"] = "s3";
DataRow row2 = dt.NewRow();
row["qq"] = " d1 ";
row["mm"] = "d2";
row["ww"] = "d3";
DataRow row3 = dt.NewRow();
row["qq"] = " a1 ";
row["mm"] = "a2";
row["ww"] = "a3";
dt.Rows.Add(row);
dt.Rows.Add(row2);
dt.Rows.Add(row3);
我是先把文件选择后数据存在flexgrid上
public void print()
{
SaveFileDialog saveDlg = new SaveFileDialog();
saveDlg.DefaultExt = "xls|xlsx";
saveDlg.FileName = "*.xls;*.xlsx";
saveDlg.Filter = "Excel????(*.xls)|*.xls|Excel????(*.xlsx) | *.xlsx";
if (saveDlg.ShowDialog() != DialogResult.OK)
{
return;
}
this.grdMain.DataSource = null;
string[] sheets = c1FlexGrid.LoadExcelSheetNames(saveDlg.FileName);
FileFlags flags = FileFlags.LoadMergedRanges;
c1FlexGrid.LoadGrid(saveDlg.FileName, FileFormatEnum.Excel, flags);
// count 是dataTable的数此时为3
int count = this.Data.Rows.Count;
if(count > 0)
{
for(int i = 0; i < count; i++)
{
m = i % detailCount;
if( m == 0)
{
if(!firstPage)
{
c1FlexGrid.SaveExcel(saveDlg.FileName, sheetName + (i / detailCount).ToString(), FileFlags.None);
}
for (int k = 0; k < qqCount; k++)
{
if (excelInfo.Rows[k]["aaaaaaaaaaaaaaa"].ToString() == "0")
{
c1FlexGrid.SetData(Conv.GetInt(Column[1]), Conv.GetInt(Column[0]), Data.Rows[1][" qq"]);
}
}
}
这是部分代码
如果保存为xls文件时就会在下面这句代码时进入异常catch
this.grdMain.SetData(Conv.GetInt(Column[1]), Conv.GetInt(Column[0]), Data.Rows[1][headerName]); |