c#excel的操作例子
class MyData//存储行数据
{
public List<string> RowData { get; set; }
} static void Main(string[] args)
{ Application app=new ApplicationClass();
app.DisplayAlerts = false;
var path = @"C:\Users\Administrator\Desktop\JTWC台风季1979-2010.xls";//读取数据的excel
var path2=@"C:\Users\Administrator\Desktop\JTWC.xlsx";//存储数据的excel
var workbook=app.Workbooks.Open(path, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value);//打开指定位置的excel文件
Worksheet sheet=(Worksheet)workbook.Sheets[];//获取第一个table
var resultWorkBook= app.Workbooks.Open(path2);
var resultSheet =(Worksheet) resultWorkBook.Sheets[]; //
var resultData=new List<MyData>(); string numberAndNameStr = string.Empty;
for (int i = ; i < ; i++)
{
var number = ((Range) sheet.Cells[i, ]).Text.ToString();
var name = ((Range) sheet.Cells[i, ]).Text.ToString();
var tempStr = number + name;
if (tempStr != numberAndNameStr)//根据每一行的前两个cell的组合,判断这一行数据是否属于同一个Typhoon(这是一个具体问题)
{
var str = new List<string>
{
((Range) sheet.Cells[i, ]).Text.ToString(),
((Range) sheet.Cells[i, ]).Text.ToString(),
((Range) sheet.Cells[i, ]).Text.ToString(),
((Range) sheet.Cells[i, ]).Text.ToString(),
((Range) sheet.Cells[i, ]).Text.ToString(),
((Range) sheet.Cells[i, ]).Text.ToString(),
((Range) sheet.Cells[i, ]).Text.ToString(),
((Range) sheet.Cells[i, ]).Text.ToString() };
var data = new MyData() {RowData = str};
resultData.Add(data);
//写入excel数据
numberAndNameStr = tempStr;
}
}
int row = ;
foreach (MyData myData in resultData)//循环每一行数据
{
for (int j = ; j < myData.RowData.Count; j++)//循环一行数据的所有cell
{
resultSheet.Cells[row, j + ] = myData.RowData[j];
}
row++;
} app.AlertBeforeOverwriting = false; //屏蔽掉系统跳出的Alert
//workbook.Save();
resultWorkBook.SaveAs(path2, 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);//用save方法会保存失败 app.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);//释放资源
Console.WriteLine("Over");
}
c#excel的操作例子的更多相关文章
- VS2010 MFC对Excel的操作
这是帮别人做项目遇到的一个问题,的那个是纠结了老长时间,本以为是一件很轻松的事... 首先,这里采用了OLE来对Excel进行操作,网上其实有大把的例子,虽然都可以运行,但是并不能满足项目要求,其实我 ...
- C# 几十万级数据导出Excel,及Excel各种操作
先上导出代码 /// <summary> /// 导出速度最快 /// </summary> /// <param name="list">&l ...
- 利用NPOI组件产Excel完整操作
最终还是要使用NPOi了.刚开始做的是用com组件,发现如果本机不按照excel就不能使用,后来把其中一支改为了用Itextsharp产生pdf,但是还有几支批次要产生Excel,只能改用NPOI了. ...
- POI对EXCEL的操作【重点:如何设置CELL格式为文本格式】
实际开发过程中通常用到的就是从数据库导出EXCEL表格了,JXL可以这样做,其实POI也可以(关于JXL与POI的异同可访问我之前总结的文章),之前写过POI对七种文档(当然也包括EXCEL)的内容读 ...
- NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))
NX二次开发API里没有对EXCAL读写操作的相关函数,市面上有很多种方法去实现,比如UFUN调KF,ODBC,OLE(COM组件)等等.这里我是用的OLE(COM组件)方式去做的,这种在VC上创建的 ...
- NX二次开发-基于NX开发向导模板的NX对Excel读写操作(OLE方式(COM组件))
在看这个博客前,请读者先去完整看完:NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))https://ufun-nxopen.blog.csdn.net/article ...
- NPOI对Excel的操作(Sheet转DataTable、List<T>)
通过NPOI对Excel进行操作,这里主要是读取的操作.封装到ExcelHelper操作类中. 1 using System.Collections.Generic; 2 using NPOI.HSS ...
- php的Excel相关操作
1.需求 把数据库的数据输出excel格式 2.解决方案 利用phpexcel中的examples的01和07,对excel文件的读写 3.操作流程 a.https://github.com/PHPO ...
- java导入导出excel常用操作小结及简单示例
POI中常用设置EXCEL的操作小结: 操作excel如下 HSSFWorkbook wb = new HSSFWorkbook(); //创建一个webbook,对应一个Excel文件 HSSFS ...
随机推荐
- 【转】 详解Kafka生产者Producer配置
粘贴一下这个配置,与我自己的程序做对比,看看能不能完善我的异步带代码: ----------------------------------------- 详解Kafka生产者Produce ...
- asp.net core 笔记
dnvm use 1.0.0-rc1-final -r clr 切换版本
- css外边距合并和z-index的问题
参考这篇文章, 将外边距的 折叠 参考这篇文章, 将bfc的生成, bfc的应用 参考这篇文章 position: absolute的元素, 仍然具有内填充padding和border边框属性样式, ...
- linuxMint設置窗口最大最小化
linuxMint下面用键盘快速让窗口最大化和最小化
- Linux服务器管理: 系统的进程管理ps命令
源码包:2015-06-30 12:11:25 首先我们可以通过网络去下载相应的源码包:我们以apache为例: [root@localhostA1 opt]# wget http://archive ...
- PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
做一个内网根据MAC地址自动登录的应用,在WINDOW 2003可以正常使用,函数如下 复制代码 代码如下: function ce_getmac() { if(PHP_OS == 'WINNT' ...
- 欧几里得证明$\sqrt{2}$是无理数
选自<费马大定理:一个困惑了世间智者358年的谜>,有少许改动. 原译者:薛密 \(\sqrt{2}\)是无理数,即不能写成一个分数.欧几里得以反证法证明此结论.第一步是假定相反的事实是真 ...
- jquery动态改变my97日期格式
$('#qsrq').unbind('focus'); $('#zzrq').unbind('focus'); $('#qsrq').bind('focus', function () { Wdate ...
- Stm32 debug停留在"BKPT 0xAB"或者"SWI 0xAB"的解决办法。
一..背景: 曾经在工作中接触过STM32一段时间,但没有深入的去学习,只是用前辈搭建好的模型来实现一些功能罢了,俗话说的好,大树底下好乘凉,开发确实轻松了,可是不深究点,又觉着心里不踏实,然而也一直 ...
- 08OC之Foundation框架
1.Foundation框架简述 在前面,我们创建一个类的时候,都会选择Cocoa Class.到底Cocoa Class是什么东西呢? Cocoa 不是一门编程语言,因为它可以运行在多种编程语言上, ...