怎样导入一个excel文件到excel控件里面 and 从excel控件导出成一个excel文件
用C#来实现,谢谢
用C#来实现,谢谢
解决方案 »
- 发贴放分: 手工修改 vs2008 方案文件, 工程文件为 2005 用
- 如何在程序中添加动画?
- 如何将中文标点符号替换成英文标点符号
- C#2005中ListView 的属性问题
- 如何才能加快DataSet 速度?
- C#程序员winform开发有没有前景?现在招C#程序员的基本上都是基于WEB开发 -_-!!!
- C#中有没有类似C++中的system("pause");
- 请问一个鼠标编程的问题。如何在.NET中设置鼠标。
- 应用 XP 风格的问题
- 如何使用第三方ocx控件(c#),给分
- 高分调查两个问题(1)分页的使用(2)上传文件的存取
- 请问谁有ActiveReport For .Net 正式版本提供下载?感激不尽!
this.openFileDialog1.Filter="excel文件(*.xls)|*.xls";
this.openFileDialog1.Title="打开excel文件";
this.openFileDialog1.ShowDialog();
path1=this.openFileDialog1.FileName;
//设置空值
object objMissing=System.Reflection.Missing.Value;
//打开excel文件
my=new Excel.ApplicationClass();
my.Visible=true;//打开工作簿
Excel.Workbook mybook=my.Workbooks.Open(path1.Trim(),objMissing,objMissing, objMissing,
objMissing, objMissing, objMissing,
objMissing, objMissing, objMissing,
objMissing, objMissing, objMissing);Excel.Worksheet mysheet=(Excel.Worksheet)mybook.Worksheets.get_Item(1);
Excel.Application myExcel=new Excel.Application();
myExcel.Visible=false;
foreach(string strFileName in this.ofdData.FileNames)
{
string strSQL="";
Excel.Workbook wb=myExcel.Workbooks.Open(strFileName,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
wb.Save();
foreach(Excel.Worksheet ws in wb.Worksheets)
{
strSQL="select * from ["+ws.Name+"$];";
#region 数据库方式
System.Data.OleDb.OleDbConnection oc=new OleDbConnection();
oc.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + strFileName + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";
System.Data.OleDb.OleDbDataAdapter oda=new OleDbDataAdapter("select * from ["+ws.Name+"$]",oc);
myExcel.Quit();
try
{
oc.Open();
oda.Fill(dsPhone1,"tabPhone");
}
catch
{
System.Windows.Forms.DialogResult dr=MessageBox.Show("数据文件"+strFileName+"导入失败,该数据文件格式与之前文件格式不相同,是否要继续数据导入?","导入失败",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if(dr==DialogResult.No)
{
frmInput.Close();
return;
}
}
this.gexPhone.SetDataBinding(dsPhone1,"tabPhone");
oc.Close();
#endregion
} myExcel.Quit();
}
Excel.Application myExcel=new Excel.Application();
myExcel.Application.Workbooks.Add(true);
int intColID=0;
double intCost=0,intmin=0;
for(int i=0;i<this.gexPhone.Tables["tabPhone"].Columns.Count;i++)
{
if(this.gexPhone.Tables["tabPhone"].Columns[i].Visible==false)
continue;
myExcel.Cells[1,intColID+1]=this.gexPhone.Tables["tabPhone"].Columns[i].Caption;
for(int j=0;j<this.gexPhone.RowCount;j++)
{
if(this.gexPhone.Tables["tabPhone"].Columns[i].Caption.Trim()=="cost")
intCost+=double.Parse(this.gexPhone.GetRow(j).Cells[i].Text.ToString().Trim());//统计时间
if(this.gexPhone.Tables["tabPhone"].Columns[i].Caption.Trim()=="duration_in_min")
intmin+=double.Parse(this.gexPhone.GetRow(j).Cells[i].Text.ToString().Trim());//统计时间(分)
try
{
Int16 intValue=Int16.Parse(this.gexPhone.GetRow(j).Cells[i].Text.ToString());
myExcel.Cells[j+2,intColID+1]=this.gexPhone.GetRow(j).Cells[i].Text.ToString();
}
catch
{
myExcel.Cells[j+2,intColID+1]="'"+this.gexPhone.GetRow(j).Cells[i].Text.ToString();
}
}
if(this.gexPhone.Tables["tabPhone"].Columns[i].Caption.Trim()=="cost")
myExcel.Cells[this.gexPhone.RowCount+2,intColID+1]=intCost;
if(this.gexPhone.Tables["tabPhone"].Columns[i].Caption.Trim()=="duration_in_min")
myExcel.Cells[this.gexPhone.RowCount+2,intColID+1]=intmin;
intColID++;
}
Excel.Range r=myExcel.Columns;
Excel.Font font=r.Font;
font.Size=10;
myExcel.Quit();