?? gridutil.cs
字號:
using System;
//using C1.Win.C1FlexGrid;
using Excel;// = Microsoft.Office.Interop.Excel;
using System.Windows.Forms;
namespace HrSalary.util
{
/// <summary>
/// GridUtil 的摘要說明。
/// </summary>
public class GridUtil
{
public GridUtil()
{
//
// TODO: 在此處添加構(gòu)造函數(shù)邏輯
//
}
private string Get_TableHeader(int num)
{
string A="";
for(int i=0;i<num;i++)
{
if((65+i)<91)
A=((char)(65+i)).ToString();
else
A="A"+((char)(i+39)).ToString(); //i+39:Z后的字符轉(zhuǎn)成A、B...
}
return A;
}
public void GridXls(SaveFileDialog sf ,System.Windows.Forms.DataGrid grid,Excel.Application ExcelObj)
{
try
{
System.Data.DataSet ds = (System.Data.DataSet)grid.DataSource;
if(ds==null|| ds.Tables.Count<=0)
{
MessageBox.Show("無顯示數(shù)據(jù),請查詢庫數(shù)據(jù)或?qū)霐?shù)據(jù)!!!");
return;
}
ExcelObj.Visible =true;
object missing = System.Reflection.Missing.Value;
sf.InitialDirectory = "C:\\";
sf.Filter = "Exel files (*.xls)|*.xls" ;
sf.FilterIndex = 2 ;
sf.RestoreDirectory = true ;
sf.OverwritePrompt =false;
string filename = "無標題.xls"; // sf.FileName;
int countcolumns=ds.Tables[0].Columns.Count;
int countrows=ds.Tables[0].Rows.Count;
string A=Get_TableHeader(countcolumns);
Excel.Workbooks workbooks=ExcelObj.Workbooks;
Excel.Workbook theWorkbook =workbooks.Add(missing);
Excel.Sheets sheets = theWorkbook.Worksheets;
Excel.Worksheet worksheet =(Excel.Worksheet)sheets.get_Item(1);
Excel.Range range=worksheet.get_Range("A1",A+(countrows+1).ToString());
string [,] myvalues1= new string[countrows+1,countcolumns];
for(int j=0;j<countcolumns;j++)
{
myvalues1[0,j]=ds.Tables[0].Columns[j].Caption.ToString();
}
for(int i=1;i<countrows+1;i++)
{
for(int j=0;j<countcolumns;j++)
{
myvalues1[i,j]=ds.Tables[0].Rows[i-1][j].ToString();
}
}
range.Cells.Value2=myvalues1;
workbooks=null;
theWorkbook =null;
sheets = null;
worksheet =null;
range=null;
}
catch(Exception ee)
{
MessageBox.Show(ee.ToString());
}
}
public static void Grid2CSV(System.Windows.Forms.ContainerControl control, System.Windows.Forms.DataGrid grid, string filename)
{
/*C1.Win.C1FlexGrid.C1FlexGrid c1grid = new C1.Win.C1FlexGrid.C1FlexGrid();
c1grid.Cols.Fixed = 0;
c1grid.Parent = control;
System.Data.DataSet ds = (System.Data.DataSet)grid.DataSource;
System.Diagnostics.Debug.Assert(ds!=null, "DataSet不能為空。");
System.Diagnostics.Debug.Assert(ds.Tables.Count>0, "DataSet不能為空。");
c1grid.DataSource = ds.Tables[0];
System.Diagnostics.Debug.Assert(c1grid.DataSource!=null);
for(int i=0;i<ds.Tables[0].Columns.Count;++i)
{
if (grid.TableStyles.Count<=0 || i>=grid.TableStyles[0].GridColumnStyles.Count)
c1grid.Cols[i].Caption = ds.Tables[0].Columns[i].Caption;
else
c1grid.Cols[i].Caption = grid.TableStyles[0].GridColumnStyles[i].HeaderText;
}
c1grid.Update();
c1grid.SaveGrid(filename, C1.Win.C1FlexGrid.FileFormatEnum.TextComma, true, System.Text.Encoding.GetEncoding("gb2312"));
*/}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -