📄 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: 在此处添加构造函数逻辑
//
}
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后的字符转成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("无显示数据,请查询库数据或导入数据!!!");
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 + -