如何操作Excel
--添加引用 com 里面 Microsoft Excel 11.0 Object Library
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Interop;
using System.Reflection;
using System.Data.SqlClient;
namespace ConsoleApplication1
{
class Program
{
string ConnectionString = "server=.;uid=sa;pwd=sasa;database=pubs";

static void Main(string[] args)
{
Microsoft.Office.Interop.Excel.Application xApp = new Microsoft.Office.Interop.Excel.ApplicationClass();

xApp.Visible = true;
//得到WorkBook对象, 可以用两种方式之一: 下面的是打开已有的文件
Microsoft.Office.Interop.Excel.Workbook xBook = xApp.Workbooks._Open(@"c:\1.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);
//xBook=xApp.Workbooks.Add(Missing.Value);//新建文件的代码
//指定要操作的Sheet,两种方式:

Microsoft.Office.Interop.Excel.Worksheet xSheet = (Microsoft.Office.Interop.Excel.Worksheet)xBook.Sheets[1];
//Excel.Worksheet xSheet=(Excel.Worksheet)xApp.ActiveSheet;

//读取数据,通过Range对象
//Microsoft.Office.Interop.Excel.Range rng1 = xSheet.get_Range("A1", Type.Missing);
//Console.WriteLine(rng1.Value2);

for (int i = 2661; i < 4615; i++)
{
//读取,通过Range对象,但使用不同的接口得到Range
Microsoft.Office.Interop.Excel.Range rng2 = (Microsoft.Office.Interop.Excel.Range)xSheet.Cells[i, 1];
// Console.WriteLine(rng2.Value2);
Program pro = new Program();
//写入数据
Microsoft.Office.Interop.Excel.Range rng3 = xSheet.get_Range("B"+i, Missing.Value);
rng3.Value2 = pro.select(rng2.Value2.ToString());
}
// Console.Read();


//保存方式一:保存WorkBook
xBook.SaveAs(@"c:\2.xls",
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value);
Console.WriteLine("aa");
Console.Read();
}
public string select(string name)
{
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
conn.Open();
string strsql = string.Format("select * from jobs", name);
using (SqlCommand cmd = new SqlCommand(strsql,conn))
{
using (SqlDataReader sda = cmd.ExecuteReader())
{
if (sda.Read())
{
return sda["job_desc"].ToString();
}
else
{
return "";
}
}
}
}
}
}
}

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Interop;
using System.Reflection;
using System.Data.SqlClient;
namespace ConsoleApplication1
{
class Program
{
string ConnectionString = "server=.;uid=sa;pwd=sasa;database=pubs";
static void Main(string[] args)
{
Microsoft.Office.Interop.Excel.Application xApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
xApp.Visible = true;
//得到WorkBook对象, 可以用两种方式之一: 下面的是打开已有的文件
Microsoft.Office.Interop.Excel.Workbook xBook = xApp.Workbooks._Open(@"c:\1.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);
//xBook=xApp.Workbooks.Add(Missing.Value);//新建文件的代码
//指定要操作的Sheet,两种方式: 
Microsoft.Office.Interop.Excel.Worksheet xSheet = (Microsoft.Office.Interop.Excel.Worksheet)xBook.Sheets[1];
//Excel.Worksheet xSheet=(Excel.Worksheet)xApp.ActiveSheet; 
//读取数据,通过Range对象
//Microsoft.Office.Interop.Excel.Range rng1 = xSheet.get_Range("A1", Type.Missing);
//Console.WriteLine(rng1.Value2);
for (int i = 2661; i < 4615; i++)
{
//读取,通过Range对象,但使用不同的接口得到Range
Microsoft.Office.Interop.Excel.Range rng2 = (Microsoft.Office.Interop.Excel.Range)xSheet.Cells[i, 1];
// Console.WriteLine(rng2.Value2);
Program pro = new Program();
//写入数据
Microsoft.Office.Interop.Excel.Range rng3 = xSheet.get_Range("B"+i, Missing.Value);
rng3.Value2 = pro.select(rng2.Value2.ToString());
}
// Console.Read();

//保存方式一:保存WorkBook
xBook.SaveAs(@"c:\2.xls",
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value);
Console.WriteLine("aa");
Console.Read();
}
public string select(string name)
{
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
conn.Open();
string strsql = string.Format("select * from jobs", name);
using (SqlCommand cmd = new SqlCommand(strsql,conn))
{
using (SqlDataReader sda = cmd.ExecuteReader())
{
if (sda.Read())
{
return sda["job_desc"].ToString();
}
else
{
return "";
}
}
}
}
}
}
}


浙公网安备 33010602011771号