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的操作例子的更多相关文章

  1. VS2010 MFC对Excel的操作

    这是帮别人做项目遇到的一个问题,的那个是纠结了老长时间,本以为是一件很轻松的事... 首先,这里采用了OLE来对Excel进行操作,网上其实有大把的例子,虽然都可以运行,但是并不能满足项目要求,其实我 ...

  2. C# 几十万级数据导出Excel,及Excel各种操作

    先上导出代码 /// <summary> /// 导出速度最快 /// </summary> /// <param name="list">&l ...

  3. 利用NPOI组件产Excel完整操作

    最终还是要使用NPOi了.刚开始做的是用com组件,发现如果本机不按照excel就不能使用,后来把其中一支改为了用Itextsharp产生pdf,但是还有几支批次要产生Excel,只能改用NPOI了. ...

  4. POI对EXCEL的操作【重点:如何设置CELL格式为文本格式】

    实际开发过程中通常用到的就是从数据库导出EXCEL表格了,JXL可以这样做,其实POI也可以(关于JXL与POI的异同可访问我之前总结的文章),之前写过POI对七种文档(当然也包括EXCEL)的内容读 ...

  5. NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))

    NX二次开发API里没有对EXCAL读写操作的相关函数,市面上有很多种方法去实现,比如UFUN调KF,ODBC,OLE(COM组件)等等.这里我是用的OLE(COM组件)方式去做的,这种在VC上创建的 ...

  6. NX二次开发-基于NX开发向导模板的NX对Excel读写操作(OLE方式(COM组件))

    在看这个博客前,请读者先去完整看完:NX二次开发-基于MFC界面的NX对Excel读写操作(OLE方式(COM组件))https://ufun-nxopen.blog.csdn.net/article ...

  7. NPOI对Excel的操作(Sheet转DataTable、List<T>)

    通过NPOI对Excel进行操作,这里主要是读取的操作.封装到ExcelHelper操作类中. 1 using System.Collections.Generic; 2 using NPOI.HSS ...

  8. php的Excel相关操作

    1.需求 把数据库的数据输出excel格式 2.解决方案 利用phpexcel中的examples的01和07,对excel文件的读写 3.操作流程 a.https://github.com/PHPO ...

  9. java导入导出excel常用操作小结及简单示例

    POI中常用设置EXCEL的操作小结: 操作excel如下 HSSFWorkbook wb = new HSSFWorkbook();  //创建一个webbook,对应一个Excel文件 HSSFS ...

随机推荐

  1. CF456C Boredom (DP)

    Boredom CF#260 div2 C. Boredom Codeforces Round #260 C. Boredom time limit per test 1 second memory ...

  2. HTML5音乐播放器(最新升级改造加强版)

    最近么,单位里面么老不顺心的,公司一直催要程序员要PHP,然后本宅好不容易推荐了一个,我日嘞,最后待遇变成1.3,吾师最后也同意1.3W,然后还说要考虑... 尼玛,4年多5年不到一点的工作经验,前端 ...

  3. web api 处理发送过来的文件(图片)

    using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.We ...

  4. A funny story in regard to a linux newbie

    ZZ from here :  ask what kernel ring buffer is A few days ago I started thinking that my linux educa ...

  5. 在WordPress后台菜单系统中添加Home链接

    在wordpress后台如果想打开前台的话,要想先把鼠标移动到左上角菜单,然后在下拉菜单中点击“查看站点”,很是麻烦,能不能在 WordPress 后台菜单系统中添加 Home 链接呢? 将下面代码复 ...

  6. 将json返回的日期格式转换

    <script>         function ChangeDateFormat(cellval) {             var date = new Date(parseInt ...

  7. Mac Pro 安装 Homebrew 软件包管理工具

    Linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red hat有 yum,Ubuntu有 apt-get. Mac os 中没有类似的东东,不过有第三方库支持 ...

  8. Objective-C上地球坐标系到火星坐标系转换算法

    Objective-C上地球坐标系到火星坐标系转换算法 http://blog.csdn.net/zhaoxy_thu/article/details/17033347

  9. statusbar 样式

    1:statusBar字体为白色 在plist里面设置View controller-based status bar appearance 为 NO:设置statusBarStyle 为 UISta ...

  10. html5的触摸事件

    1.触摸事件有哪些 touchstart,touchmove,touchend 2.分别什么时候触发 touchstart事件:当手指触摸屏幕时候触发,即使已经有一个手指放在屏幕上也会触发. touc ...