/// <summary>
/// 读写Excel
/// </summary>
/// <param name="data"></param>
/// <returns>true为读或写成功,flase为失败</returns>
///
///调用:Office_Excel.Write_Excel(Read_Write_Tabel);
///Office_Excel是类
///
///Read_Write_Tabel为数组首地址
///
//写excel
public static bool Write_Excel(UInt16[] data)
{
Excel.Application my_Excel = new Excel.Application();//建立、启动Excel
Excel.Workbook my_Book;//
Excel.Worksheet my_Sheet;//工作薄
try
{
//工作的个数
my_Excel.SheetsInNewWorkbook = 1;
//添加新工作簿
my_Book = my_Excel.Workbooks.Add(Missing.Value);
//指定要操作的Sheet,两种方式:
my_Sheet = (Excel.Worksheet)my_Book.Sheets[1];
Excel.Range rng2 = my_Sheet.get_Range("A1", Missing.Value);
rng2.Value2 = "模 式";
Excel.Range rng3 = my_Sheet.get_Range("C1", Missing.Value);
rng3.Value2 = "数 据";
//写Excel
for (Int16 i = 0; i < 122; i++)
{
string shc = "A" + (i + 2).ToString();//shc是位置: B列 i是行
rng2 = my_Sheet.get_Range(shc, Missing.Value);//获取当前的位置
if (i < 4)
rng2.Value2 = "F" + Convert.ToString(i); //写模式
else
rng2.Value2 = Convert.ToString(i);
string sh = "C" + (i + 2).ToString();//sh是位置: B列 i是行
rng3 = my_Sheet.get_Range(sh, Missing.Value);//获取当前的位置
rng3.Value2 = Convert.ToString(data[i]); //向该位置写内容
//rng3.Interior.ColorIndex = 6; //设置Range的背景色
}
//保存
my_Sheet.SaveAs(System.Windows.Forms.Application.StartupPath + "\\输出数据.xls",
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value);
my_Sheet = null;
my_Book.Close();//使用my_Book.Close();当不存在.xls的时候会报错
my_Excel.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出
return true;
}
catch (Exception)//Exception ex
{
// MessageBox.Show(ex.Message);
my_Sheet = null;
my_Book = null;//使用my_Book.Close();当不存在.xls的时候会报错
my_Excel.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出
return false;
}
public static bool Read_Excel(UInt16[] data)
{
Excel.Application my_Excel = new Excel.Application();//建立、启动Excel
Excel.Workbook my_Book = null;//
Excel.Worksheet my_Sheet;//工作薄
try
{
//打开导入的excel
my_Book = my_Excel.Workbooks._Open(System.Windows.Forms.Application.StartupPath + "\\输入数据.xls",
Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
//打开对应的工作薄
my_Sheet = (Excel.Worksheet)my_Book.Sheets[1];
///读取
for (byte i = 0; i < 122; i++)
{
Excel.Range rng2 = (Excel.Range)my_Sheet.Cells[i + 2, 3];//前面是行 后面的列
data[i] = (UInt16)Convert.ToInt16(rng2.Value2);
///显示
// this.textBox1.Text = this.textBox1.Text + (String)(Convert.ToString(Read_Write_Tabel[i])) + "、";
}
my_Sheet = null;
my_Book.Close();//一定要关闭 而且不能使用my_Book=null;
my_Excel.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出
return true;
}
catch (Exception)//Exception ex这里不报错
{
// MessageBox.Show(ex.Message);
my_Sheet = null;
my_Book = null;//使用my_Book.Close();当不存在.xls的时候会报错
my_Excel.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出
return false;
}
}
/// 读写Excel
/// </summary>
/// <param name="data"></param>
/// <returns>true为读或写成功,flase为失败</returns>
///
///调用:Office_Excel.Write_Excel(Read_Write_Tabel);
///Office_Excel是类
///
///Read_Write_Tabel为数组首地址
///
//写excel
public static bool Write_Excel(UInt16[] data)
{
Excel.Application my_Excel = new Excel.Application();//建立、启动Excel
Excel.Workbook my_Book;//
Excel.Worksheet my_Sheet;//工作薄
try
{
//工作的个数
my_Excel.SheetsInNewWorkbook = 1;
//添加新工作簿
my_Book = my_Excel.Workbooks.Add(Missing.Value);
//指定要操作的Sheet,两种方式:
my_Sheet = (Excel.Worksheet)my_Book.Sheets[1];
Excel.Range rng2 = my_Sheet.get_Range("A1", Missing.Value);
rng2.Value2 = "模 式";
Excel.Range rng3 = my_Sheet.get_Range("C1", Missing.Value);
rng3.Value2 = "数 据";
//写Excel
for (Int16 i = 0; i < 122; i++)
{
string shc = "A" + (i + 2).ToString();//shc是位置: B列 i是行
rng2 = my_Sheet.get_Range(shc, Missing.Value);//获取当前的位置
if (i < 4)
rng2.Value2 = "F" + Convert.ToString(i); //写模式
else
rng2.Value2 = Convert.ToString(i);
string sh = "C" + (i + 2).ToString();//sh是位置: B列 i是行
rng3 = my_Sheet.get_Range(sh, Missing.Value);//获取当前的位置
rng3.Value2 = Convert.ToString(data[i]); //向该位置写内容
//rng3.Interior.ColorIndex = 6; //设置Range的背景色
}
//保存
my_Sheet.SaveAs(System.Windows.Forms.Application.StartupPath + "\\输出数据.xls",
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value);
my_Sheet = null;
my_Book.Close();//使用my_Book.Close();当不存在.xls的时候会报错
my_Excel.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出
return true;
}
catch (Exception)//Exception ex
{
// MessageBox.Show(ex.Message);
my_Sheet = null;
my_Book = null;//使用my_Book.Close();当不存在.xls的时候会报错
my_Excel.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出
return false;
}
}
public static bool Read_Excel(UInt16[] data)
{
Excel.Application my_Excel = new Excel.Application();//建立、启动Excel
Excel.Workbook my_Book = null;//
Excel.Worksheet my_Sheet;//工作薄
try
{
//打开导入的excel
my_Book = my_Excel.Workbooks._Open(System.Windows.Forms.Application.StartupPath + "\\输入数据.xls",
Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
//打开对应的工作薄
my_Sheet = (Excel.Worksheet)my_Book.Sheets[1];
///读取
for (byte i = 0; i < 122; i++)
{
Excel.Range rng2 = (Excel.Range)my_Sheet.Cells[i + 2, 3];//前面是行 后面的列
data[i] = (UInt16)Convert.ToInt16(rng2.Value2);
///显示
// this.textBox1.Text = this.textBox1.Text + (String)(Convert.ToString(Read_Write_Tabel[i])) + "、";
}
my_Sheet = null;
my_Book.Close();//一定要关闭 而且不能使用my_Book=null;
my_Excel.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出
return true;
}
catch (Exception)//Exception ex这里不报错
{
// MessageBox.Show(ex.Message);
my_Sheet = null;
my_Book = null;//使用my_Book.Close();当不存在.xls的时候会报错
my_Excel.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出
return false;
}
}