首页 > 学院 > 开发设计 > 正文

csharp: read excel using Aspose.Cells

2019-11-17 02:33:05
字体:
来源:转载
供稿:网友

csharp: read Excel using aspose.Cells

 /// <summary>        ///         /// </summary>        /// <param name="strFileName"></param>        /// <returns></returns>        public static System.Data.DataTable ReadExcel(String strFileName)        {            Workbook book = new Workbook(strFileName);            //book.Open(strFileName); //老版本            Worksheet sheet = book.Worksheets[0];                        Cells cells = sheet.Cells;            return cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, true);        }        /// <summary>        ///         /// </summary>        /// <param name="strFileName"></param>        /// <param name="sheetname"></param>        /// <returns></returns>        public static System.Data.DataTable ReadExcel(String strFileName,string sheetname)        {            Workbook book = new Workbook(strFileName);            //book.Open(strFileName);//老版本            Worksheet sheet = book.Worksheets[sheetname];            Cells cells = sheet.Cells;            return cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, true);        }        /// <summary>        /// 读取工作表        /// 涂聚文        /// 20150228        /// </summary>        /// <param name="strFileName"></param>        /// <param name="comb"></param>        public static void ReadExcelCombox(String strFileName, System.Windows.Forms.ComboBox comb)        {            comb.Items.Clear();            Workbook book = new Workbook(strFileName);            // book.Open(strFileName);//老版本            Worksheet sheet = book.Worksheets[0];            for (int i = 0; i < book.Worksheets.Count; i++)            {                comb.Items.Add(book.Worksheets[i].Name.ToString());              }           // Cells cells = sheet.Cells;            //return cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, true);        }        /// <summary>        /// DataTable导出到EXCEL        /// http://www.aspose.com/docs/display/cellsnet/Aspose.Cells+Object+Model        /// http://www.aspose.com/docs/display/cellsnet/Converting+Worksheet+to+Image+and+Worksheet+to+Image+by+Page        /// </summary>        /// <param name="datatable"></param>        /// <param name="filepath"></param>        /// <param name="error"></param>        /// <returns></returns>        public static bool DataTableToExcel(DataTable datatable, string filepath, out string error)        {            error = "";            try            {                if (datatable == null)                {                    error = "DataTableToExcel:datatable 为空";                    return false;                }                Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook();                Aspose.Cells.Worksheet sheet = workbook.Worksheets[0];                Aspose.Cells.Cells cells = sheet.Cells;                int nRow = 0;                foreach (DataRow row in datatable.Rows)                {                    nRow++;                    try                    {                        for (int i = 0; i < datatable.Columns.Count; i++)                        {                            if (row[i].GetType().ToString() == "System.Drawing.Bitmap")                            {                                //------插入图片数据-------                                System.Drawing.Image image = (System.Drawing.Image)row[i];                                MemoryStream mstream = new MemoryStream();                                image.Save(mstream, System.Drawing.Imaging.ImageFormat.Jpeg);                                sheet.Pictures.Add(nRow, i, mstream);                            }                            else                            {                                cells[nRow, i].PutValue(row[i]);                            }                        }                    }                    catch (System.Exception e)                    {                        error = error + " DataTableToExcel: " + e.Message;                    }                }                workbook.Save(filepath);                return true;            }            catch (System.Exception e)            {                error = error + " DataTableToExcel: " + e.Message;                return false;            }        }        /// <summary>        /// 工作表转为图片        /// </summary>        /// <param name="file">来源EXCEL文件</param>        /// <param name="sheetname">工作表名</param>        /// <param name="toimagefile">生成图片文件</param>        public static void CellConverImge(string file, string sheetname, string toimagefile)        {            //Create a new Workbook object and            //Open a template Excel file.            Workbook book = new Workbook(file);            //Get the first worksheet.            Worksheet sheet = book.Worksheets[sheetname];            //Define ImageOrPRintOptions            ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();            //Specify the image format            imgOptions.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg;            //Only one page for the whole sheet would be rendered            imgOptions.OnePagePerSheet = true;            //Render the sheet with respect to specified image/print options            SheetRender sr = new SheetRender(sheet, imgOptions);            //Render the image for the sheet            Bitmap bitmap = sr.ToImage(0);            //Save the image file specifying its image format.            bitmap.Save(toimagefile);        }        /// <summary>        ///         /// </summary>        /// <param name="sURL"></param>        /// <param name="toExcelFile"></param>        public static void LoadUrlImage(string sURL,string toExcelFile)        {            //Define memory stream object            System.IO.MemoryStream objImage;            //Define web client object            System.Net.WebClient objwebClient;            //Define a string which will hold the web image url            //string sURL = "http://files.myOpera.com/Mickeyjoe_irl/albums/38458/abc.jpg";            try            {                //Instantiate the web client object                objwebClient = new System.Net.WebClient();                //Now, extract data into memory stream downloading the image data into the array of bytes                objImage = new System.IO.MemoryStream(objwebClient.DownloadData(sURL));                //Create a new workbook                Aspose.Cells.Workbook wb = new Aspose.Cells.Workbook();                //Get the first worksheet in the book                Aspose.Cells.Worksheet sheet = wb.Worksheets[0];                //Get the first worksheet pictures collection                Aspose.Cells.Drawing.PictureCollection pictures = sheet.Pictures;                //Insert the picture from the stream to B2 cell                pictures.Add(1, 1, objImage);                //Save the excel file  "d://test//webimagebook.xls"                wb.Save(toExcelFile);            }            catch (Exception ex)            {                //Write the error message on the console                Console.WriteLine(ex.Message);            }        }        /// <summa  /// <summary>        /// 涂聚文        /// 20150228        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btnFile_Click(object sender, EventArgs e)        {                  try                  {                //bool imail = false;                this.Cursor = Cursors.WaitCursor;                openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);                //JPEG Files (*.jpeg)|*.jpeg|PNG Files (*.png)|*.png|JPG Files (*.jpg)|*.jpg|GIF Files (*.gif)|*.gif                openFileDialog1.FileName = "";                openFileDia
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表