C# 编写一个类似Excel导入文本的向导 c#excel导入 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 从平面文件导入到excel 你的需求重新说明一下就是:1)可以定义分割符2)自动定义列,可以将列的顺序改变3)定义列的宽度综合以上的需求,推荐epplus,都可以满足你。 或者你可以使用VBA,这也不错。 有epplus或者vba的源码吗 , 小的新手 有epplus或者vba的源码吗 , 小的新手这是epplus的指引:http://epplus.codeplex.com/至于VBA,你可以google 一下。 有epplus或者vba的源码吗 , 小的新手这是epplus的指引:http://epplus.codeplex.com/至于VBA,你可以google 一下。谢谢 那你开始编写呗,有什么问题发上来再说。导入文本文件,使用FileStream或者File都可以读取文件。分隔符什么的,只要你指定几种分隔符就好了,读取到文件使用string[]加载,再把每一行使用分隔符分割。最后建立一个dataset,把databse和GridView关联就好了。移动列什么的,gridView已经具备了。 分割好的数据加载到dataset里。 有epplus或者vba的源码吗 , 小的新手这是epplus的指引:http://epplus.codeplex.com/至于VBA,你可以google 一下。+1 将文本文件导入到Excel数据列进行格式化示例//选择文本文件private void btn_SelectTxt_Click(object sender, EventArgs e) { OpenFileDialog openTxt = new OpenFileDialog();//实例化打开对话框对象 openTxt.Filter = "文本文件|*.txt";//设置打开文件筛选器 openTxt.Multiselect = false;//设置打开对话框中不能多选 if (openTxt.ShowDialog() == DialogResult.OK)//判断是否选择了文件 { txt_Txt.Text = openTxt.FileName;//显示选择的文本文件 } }//选择Excel文件private void btn_SelectExcel_Click(object sender, EventArgs e) { OpenFileDialog openExcel = new OpenFileDialog();//实例化打开对话框对象 openExcel.Filter = "Excel文件|*.xls";//设置打开文件筛选器 openExcel.Multiselect = false;//设置打开对话框中不能多选 if (openExcel.ShowDialog() == DialogResult.OK)//判断是否选择了文件 { txt_Excel.Text = openExcel.FileName;//显示选择的Excel文件 } }//读取导入操作 private void btn_Read_Click(object sender, EventArgs e) { int P_int_Count=0;//记录正在读取的行数 string P_str_Line, P_str_Content = "";//记录读取行的内容及遍历到的内容 List<string> P_str_List = new List<string>();//存储读取的所有内容 StreamReader SReader = new StreamReader(txt_Txt.Text, Encoding.Default);//实例化流读取对象 while ((P_str_Line = SReader.ReadLine()) != null)//循环读取文本文件中的每一行 { P_str_List.Add(P_str_Line);//将读取到的行内容添加到泛型集合中 P_int_Count++;//使当前读取行数加1 }//CodeGo.net/ Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();//实例化Excel对象 object missing = System.Reflection.Missing.Value;//获取缺少的object类型值 //打开指定的Excel文件 Microsoft.Office.Interop.Excel.Workbook workbook = excel.Application.Workbooks.Open(txt_Excel.Text, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); Microsoft.Office.Interop.Excel.Worksheet newWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets.Add(missing, missing, missing, missing); excel.Application.DisplayAlerts = false;//不显示提示对话框 for (int i = 0; i < P_str_List.Count; i++)//遍历泛型集合 { P_str_Content = P_str_List[i];//记录遍历到的值 if (Regex.IsMatch(P_str_Content, "^[0-9]*[1-9][0-9]*$"))//判断是否是数字 newWorksheet.Cells[i + 1, 1] = Convert.ToDecimal(P_str_Content).ToString("¥00.00");//格式化为货币格式,再添加到工作表中 else newWorksheet.Cells[i + 1, 1] = P_str_Content;//直接将遍历到的内容添加到工作表中 } workbook.Save();//保存工作表 workbook.Close(false, missing, missing);//关闭工作表 MessageBox.Show("已经将文本文件内容成功导入Excel工作表中!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } SendMessage使用时的转换问题 小弟初学者,有个疑问。。还望指点。。 急,急,未将对象引用设置到对象的实例问题? 为什么单击按扭,要单击两次GrideView才绑定刷新,在线等,急,谢谢。。。 NetAdvantage treeview拖动与合并节点 关于guid,急!!! 100分求解如何继承方法中的变量 请高手解答 帮帮我这个初学者 多人协作的时候怎么加载显示? C# 取某网站最新的10条新闻
有epplus或者vba的源码吗 , 小的新手
有epplus或者vba的源码吗 , 小的新手这是epplus的指引:
http://epplus.codeplex.com/至于VBA,你可以google 一下。
有epplus或者vba的源码吗 , 小的新手这是epplus的指引:
http://epplus.codeplex.com/至于VBA,你可以google 一下。
谢谢
导入文本文件,使用FileStream或者File都可以读取文件。
分隔符什么的,只要你指定几种分隔符就好了,读取到文件使用string[]加载,再把每一行使用分隔符分割。
最后建立一个dataset,把databse和GridView关联就好了。
移动列什么的,gridView已经具备了。
有epplus或者vba的源码吗 , 小的新手这是epplus的指引:
http://epplus.codeplex.com/至于VBA,你可以google 一下。
+1
//选择文本文件
private void btn_SelectTxt_Click(object sender, EventArgs e)
{
OpenFileDialog openTxt = new OpenFileDialog();//实例化打开对话框对象
openTxt.Filter = "文本文件|*.txt";//设置打开文件筛选器
openTxt.Multiselect = false;//设置打开对话框中不能多选
if (openTxt.ShowDialog() == DialogResult.OK)//判断是否选择了文件
{
txt_Txt.Text = openTxt.FileName;//显示选择的文本文件
}
}
//选择Excel文件
private void btn_SelectExcel_Click(object sender, EventArgs e)
{
OpenFileDialog openExcel = new OpenFileDialog();//实例化打开对话框对象
openExcel.Filter = "Excel文件|*.xls";//设置打开文件筛选器
openExcel.Multiselect = false;//设置打开对话框中不能多选
if (openExcel.ShowDialog() == DialogResult.OK)//判断是否选择了文件
{
txt_Excel.Text = openExcel.FileName;//显示选择的Excel文件
}
}
//读取导入操作
private void btn_Read_Click(object sender, EventArgs e)
{
int P_int_Count=0;//记录正在读取的行数
string P_str_Line, P_str_Content = "";//记录读取行的内容及遍历到的内容
List<string> P_str_List = new List<string>();//存储读取的所有内容
StreamReader SReader = new StreamReader(txt_Txt.Text, Encoding.Default);//实例化流读取对象
while ((P_str_Line = SReader.ReadLine()) != null)//循环读取文本文件中的每一行
{
P_str_List.Add(P_str_Line);//将读取到的行内容添加到泛型集合中
P_int_Count++;//使当前读取行数加1
}//CodeGo.net/
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();//实例化Excel对象
object missing = System.Reflection.Missing.Value;//获取缺少的object类型值
//打开指定的Excel文件
Microsoft.Office.Interop.Excel.Workbook workbook = excel.Application.Workbooks.Open(txt_Excel.Text, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
Microsoft.Office.Interop.Excel.Worksheet newWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets.Add(missing, missing, missing, missing);
excel.Application.DisplayAlerts = false;//不显示提示对话框
for (int i = 0; i < P_str_List.Count; i++)//遍历泛型集合
{
P_str_Content = P_str_List[i];//记录遍历到的值
if (Regex.IsMatch(P_str_Content, "^[0-9]*[1-9][0-9]*$"))//判断是否是数字
newWorksheet.Cells[i + 1, 1] = Convert.ToDecimal(P_str_Content).ToString("¥00.00");//格式化为货币格式,再添加到工作表中
else
newWorksheet.Cells[i + 1, 1] = P_str_Content;//直接将遍历到的内容添加到工作表中
}
workbook.Save();//保存工作表
workbook.Close(false, missing, missing);//关闭工作表
MessageBox.Show("已经将文本文件内容成功导入Excel工作表中!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}