在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例常规C/C++编程 → Aspose.Cells读写Excel或Word,生成PDF文件

Aspose.Cells读写Excel或Word,生成PDF文件

常规C/C++编程

下载此实例
  • 开发语言:C/C++
  • 实例大小:7.20M
  • 下载次数:28
  • 浏览次数:1261
  • 发布时间:2017-07-26
  • 实例类别:常规C/C++编程
  • 发 布 人:chenyun126
  • 文件格式:.rar
  • 所需积分:2
 相关标签: Word pdf Excel 文件 asp

实例介绍

【实例简介】
【实例截图】
【核心代码】

//Aspose.Cells读取Excel文件
public: bool AsposeCellsReadExcelFileFunc(String^ file, String^ fkzm){
   try
   {
    if (String::IsNullOrWhiteSpace(file))
    {
     return false;
    }
    this->richTextBox1->Text = "";
    int iRow = 2;
    int iCol = 1;
    String^ firstStr;//获取第j行k列单元格的内容
    String^ secondStr;//获取第j行k列单元格的内容
    String^ thirdStr;//获取第j行k列单元格的内容
    String^ fourStr;//获取第j行k列单元格的内容
    try
    {
     if ((fkzm->CompareTo("XLS") == 0) || (fkzm->CompareTo("XLSX") == 0))
     {
      Aspose::Cells::Workbook^ wk = gcnew Aspose::Cells::Workbook(); 
      wk->Open(file);//打开Excel文档 
      Aspose::Cells::Worksheet^ sht = wk->Worksheets[0];//查看文档的sheet0内容 
      Aspose::Cells::Cells^ cells = sht->Cells;//获取sheet0的所有单元格 
      if (sht == nullptr)
      {
       return false;
      }
      int rowCount = cells->MaxDataRow 1;//当Excel没有一行数据时,读取到的cells.MaxDataRow=-1,当有一行数据时cells.MaxDataRow=0     MaxDataRow:包含数据的单元格的最大行索引 
      if (rowCount == 0)
      {
       MessageBox::Show("文件内容为空!", "提示", MessageBoxButtons::OK);
       return false;
      }
      int cellCount = cells->MaxDataColumn 1;//当Excel没有一列数据时,读取到的cells.MaxDataColumn=-1,当有一列数据时cells.MaxDataColumn=0     MaxDataColumn:包含数据的单元格的最大列索引 
      try
      {
       iRow = 3;
       iCol = 1;
       firstStr = cells[iRow, 1]->Value->ToString();//获取第j行k列单元格的内容
       while(!String::IsNullOrWhiteSpace(firstStr))
       {
        secondStr = cells[iRow, 2]->Value->ToString();//获取第j行k列单元格的内容
        thirdStr = cells[iRow, 3]->Value->ToString();//获取第j行k列单元格的内容
        fourStr = cells[iRow, 4]->Value->ToString();//获取第j行k列单元格的内容
        this->richTextBox1->Text = firstStr "  " secondStr "  " thirdStr "  " fourStr "\n";
        iRow ;
        if (rowCount <= iRow)
        {
         break;
        }
        firstStr = cells[iRow, 1]->Value->ToString();//获取第j行k列单元格的内容
       }
      }
      catch(Exception^ ex)
      {
       iRow = 1;
       firstStr = cells[iRow, 0]->Value->ToString();//获取第j行k列单元格的内容
       while(!String::IsNullOrWhiteSpace(firstStr))
       {
        secondStr = cells[iRow, 1]->Value->ToString();//获取第j行k列单元格的内容
        thirdStr = cells[iRow, 2]->Value->ToString();//获取第j行k列单元格的内容
        fourStr = cells[iRow, 3]->Value->ToString();//获取第j行k列单元格的内容
        this->richTextBox1->Text = firstStr "  " secondStr "  " thirdStr "  " fourStr "\n";
        iRow ;
        if (rowCount <= iRow)
        {
         break;
        }
        firstStr = cells[iRow, 0]->Value->ToString();//获取第j行k列单元格的内容
       }
      }
      wk->Save(file);
      wk = nullptr;
     }
     else if (fkzm->CompareTo("CSV") == 0)
     {
      Aspose::Cells::Workbook^ wk = gcnew Aspose::Cells::Workbook(); 
      wk->Open(file);//打开Excel文档 
      Aspose::Cells::Worksheet^ sht = wk->Worksheets[0];//查看文档的sheet0内容 
      Aspose::Cells::Cells^ cells = sht->Cells;//获取sheet0的所有单元格 
      if (sht == nullptr)
      {
       return false;
      }
      int rowCount = cells->MaxDataRow 1;//当Excel没有一行数据时,读取到的cells.MaxDataRow=-1,当有一行数据时cells.MaxDataRow=0     MaxDataRow:包含数据的单元格的最大行索引 
      if (rowCount == 0)
      {
       MessageBox::Show("文件内容为空!", "提示", MessageBoxButtons::OK);
       return false;
      } 
      int cellCount = cells->MaxDataColumn 1;//当Excel没有一列数据时,读取到的cells.MaxDataColumn=-1,当有一列数据时cells.MaxDataColumn=0     MaxDataColumn:包含数据的单元格的最大列索引 
      //=================================================
      iRow = 1;
      firstStr = cells[iRow, 0]->Value->ToString();//获取第j行k列单元格的内容
      while(!String::IsNullOrWhiteSpace(firstStr))
      {
       secondStr = cells[iRow, 1]->Value->ToString();//获取第j行k列单元格的内容
       thirdStr = cells[iRow, 2]->Value->ToString();//获取第j行k列单元格的内容
       fourStr = cells[iRow, 3]->Value->ToString();//获取第j行k列单元格的内容
       this->richTextBox1->Text = firstStr "  " secondStr "  " thirdStr "  " fourStr "\n";
       iRow ;
       if (rowCount <= iRow)
       {
        break;
       }
       firstStr = cells[iRow, 0]->Value->ToString();//获取第j行k列单元格的内容
      }
      wk->Save(file);
      wk = nullptr;
     }
     return true;
    }
    catch(Exception^ ex)
    {
     MessageBox::Show(ex->StackTrace, "提示", MessageBoxButtons::OK);
    }
   }
   catch(Exception^ ex)
   {
    MessageBox::Show(ex->StackTrace, "提示", MessageBoxButtons::OK);
   }
   return false;
  }
//Aspose.Cells读Excel文档
private: System::Void btnAsposeCellsReadExcel_Click(System::Object^  sender, System::EventArgs^  e) {
    try
    {
     String^ templatePath = System::Windows::Forms::Application::StartupPath "\\Template";//默认保存路径
     this->openFileDialog1 = gcnew System::Windows::Forms::OpenFileDialog();
     this->openFileDialog1->InitialDirectory = templatePath;
     //this->openFileDialog1->Filter = "Excel文件|*.xls|所有文件|*.xls";
     this->openFileDialog1->Filter = "Excel文件|*.xlsx|Excel文件|*.xls|CSV文件|*.csv";
     this->openFileDialog1->RestoreDirectory = true;
     this->openFileDialog1->FilterIndex = 1;
     if (System::Windows::Forms::DialogResult::OK == this->openFileDialog1->ShowDialog(this))
     {
      String^ readfn = this->openFileDialog1->FileName;
      int iFIndex = readfn->LastIndexOf("\\");
      String^ strfn = readfn->Substring((iFIndex 1));
      iFIndex = strfn->LastIndexOf(".");
      String^ fgs = strfn->Substring((iFIndex 1));
      String^ fkzm = fgs->ToUpper();
      if ((fkzm->CompareTo("XLS") != 0) && (fkzm->CompareTo("XLSX") != 0) && (fkzm->CompareTo("CSV") != 0))
      {
       MessageBox::Show("  打开文件失败,不是有效的文件!", "提示", MessageBoxButtons::OK);
       return;
      }
      //=========================================
      //保存数据到文档
      bool bSuccFlag = AsposeCellsReadExcelFileFunc(readfn, fkzm);
      if(bSuccFlag)
      {
       MessageBox::Show("    读文件成功!", "提示", MessageBoxButtons::OK);
      }
      else
      {
       MessageBox::Show("    读文件失败!", "提示", MessageBoxButtons::OK);
      }
     }
    }
    catch (Exception^ ex)
    {
     MessageBox::Show("    读文件失败!\n\r" ex->StackTrace, "提示", MessageBoxButtons::OK);
    }
   }

标签: Word pdf Excel 文件 asp

实例下载地址

Aspose.Cells读写Excel或Word,生成PDF文件

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警