最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#使用Spire.XLS實(shí)現(xiàn)將Excel轉(zhuǎn)換成高質(zhì)量JPG

 更新時(shí)間:2026年04月10日 08:24:16   作者:LSTM97  
在日常辦公開發(fā)中,經(jīng)常遇到需要將?Excel?表格轉(zhuǎn)換為圖片的需求,本文主要介紹了如何使用?Spire.XLS?庫,配合?C#?代碼實(shí)現(xiàn)高質(zhì)量?Excel?轉(zhuǎn)?JPG,感興趣的小伙伴可以了解下

在日常辦公開發(fā)中,經(jīng)常遇到需要將 Excel 表格轉(zhuǎn)換為圖片的需求。無論是生成報(bào)表預(yù)覽、數(shù)據(jù)展示,還是防止表格格式錯(cuò)亂,將 Excel 轉(zhuǎn)換為 JPG 都是一種實(shí)用的解決方案。今天分享如何使用 Spire.XLS 庫,配合 C# 代碼實(shí)現(xiàn)高質(zhì)量 Excel 轉(zhuǎn) JPG。

為什么需要高質(zhì)量轉(zhuǎn)換

直接截圖或使用普通轉(zhuǎn)換方式,往往會(huì)導(dǎo)致圖片模糊、文字不清晰。特別是在打印或放大查看時(shí),低分辨率的圖片根本無法滿足需求。通過設(shè)置 300 DPI 的分辨率,可以確保生成的 JPG 圖片清晰度達(dá)到印刷級(jí)別。

實(shí)現(xiàn)步驟

首先需要安裝 Spire.XLS 庫,通過 NuGet 包管理器搜索 Spire.XLS 即可安裝。

核心代碼分為三個(gè)部分:

  1. 加載 Excel 文件 :使用 Workbook 類加載指定工作表
  2. 轉(zhuǎn)換為 EMF 流 :將指定區(qū)域?qū)С鰹?EMF 格式的內(nèi)存流
  3. 調(diào)整分辨率并保存 :通過 ResetResolution 方法將分辨率設(shè)置為 300 DPI,最終保存為 JPG

完整代碼

using Spire.Xls;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;

namespace Convert
{
    class Program
    {
        static void Main(string[] args)
        {
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("Input.xlsx", ExcelVersion.Version2013);
            Worksheet worksheet = workbook.Worksheets[0];

            using (MemoryStream ms = new MemoryStream())
            {
                worksheet.ToEMFStream(ms, 1, 1, worksheet.LastRow, worksheet.LastColumn);
                Image image = Image.FromStream(ms);
                Bitmap images = ResetResolution(image as Metafile, 300);
                images.Save("Result.jpg", ImageFormat.Jpeg);
            }
        }

        private static Bitmap ResetResolution(Metafile mf, float resolution)
        {
            int width = (int)(mf.Width * resolution / mf.HorizontalResolution);
            int height = (int)(mf.Height * resolution / mf.VerticalResolution);
            Bitmap bmp = new Bitmap(width, height);
            bmp.SetResolution(resolution, resolution);
            Graphics g = Graphics.FromImage(bmp);
            g.DrawImage(mf, 0, 0);
            g.Dispose();
            return bmp;
        }
    }
}

代碼要點(diǎn)說明

  • ToEMFStream 方法可以將工作表的指定范圍導(dǎo)出為 EMF(增強(qiáng)型圖元文件)格式,這種矢量格式保證了放大不失真
  • ResetResolution 方法接收一個(gè) Metafile 對(duì)象和目標(biāo)分辨率,返回調(diào)整后的 Bitmap
  • 使用 MemoryStream 可以避免生成臨時(shí)文件,直接在內(nèi)存中完成轉(zhuǎn)換

應(yīng)用場(chǎng)景

  • 報(bào)表系統(tǒng) :將數(shù)據(jù)表格生成為圖片,便于嵌入 Word、PPT 或網(wǎng)頁
  • 數(shù)據(jù)展示 :避免用戶因缺少 Excel 軟件而無法打開文件
  • 歸檔備份 :將重要表格轉(zhuǎn)為圖片格式,長(zhǎng)期保存不易變樣

通過上述方法,可以輕松將 Excel 表格轉(zhuǎn)換為高清 JPG 圖片,滿足大多數(shù)辦公場(chǎng)景的需求。如果需要批量轉(zhuǎn)換,只需遍歷工作簿中的多個(gè)工作表即可。

方法補(bǔ)充

使用 Aspose.Cells 實(shí)現(xiàn)轉(zhuǎn)換

Aspose.Cells 是一個(gè)非常強(qiáng)大和穩(wěn)定的 Excel 文件操作庫,同樣支持高質(zhì)量的渲染。

操作步驟:

  • 安裝:在 NuGet 包管理器中搜索 Aspose.Cells 并安裝。
  • 加載文件并設(shè)置選項(xiàng):創(chuàng)建 Workbook 對(duì)象,并用 ImageOrPrintOptions 配置輸出格式和 DPI。
  • 渲染工作表:使用 SheetRender 對(duì)象將工作表渲染為 Bitmap。
  • 保存圖片:調(diào)用 Save 方法將圖片保存為 JPG 文件。

下面是具體的 C# 代碼實(shí)現(xiàn)

using Aspose.Cells;
using Aspose.Cells.Rendering;
using System.Drawing;
class Program
{
    static void Main()
    {
        // 1. 加載 Excel 文件
        Workbook workbook = new Workbook("測(cè)試.xlsx");
        Worksheet worksheet = workbook.Worksheets[0];
        // 2. 配置圖像渲染選項(xiàng)
        ImageOrPrintOptions options = new ImageOrPrintOptions();
        options.ImageType = Drawing.ImageType.Jpeg;
        options.OnePagePerSheet = true;
        // 可選:設(shè)置高分辨率,確保高質(zhì)量
        options.HorizontalResolution = 300;
        options.VerticalResolution = 300;
        // 3. 渲染工作表
        SheetRender render = new SheetRender(worksheet, options);
        Bitmap bitmap = render.ToImage(0);
        // 4. 保存為 JPG 圖片
        bitmap.Save("輸出結(jié)果.jpg");
    }
}

重要提示

  • 拒絕 Interop:雖然 Microsoft.Office.Interop.Excel 可以免費(fèi)使用,但它會(huì)直接調(diào)用本地 Excel 程序,存在穩(wěn)定性差、內(nèi)存泄漏和依賴 Excel 環(huán)境的嚴(yán)重問題。強(qiáng)烈不推薦在生產(chǎn)環(huán)境(如 Web 服務(wù))中使用。
  • 獲取臨時(shí)許可證:上述代碼示例中的商用庫(Spire.XLS 和 Aspose.Cells)在評(píng)估模式下可能會(huì)在輸出圖片上添加水印或限制行數(shù)。建議前往官方申請(qǐng)一個(gè)臨時(shí)許可證來消除這些限制。
  • 處理好路徑與權(quán)限:確保你的程序?qū)δ繕?biāo)文件夾有寫入權(quán)限,以免保存圖片時(shí)出錯(cuò)。此外,務(wù)必確認(rèn)輸入文件的路徑是正確的。
  • 探索進(jìn)階功能:除了轉(zhuǎn)換整個(gè)工作表,這些庫通常還支持將工作簿、特定圖表或單元格區(qū)域轉(zhuǎn)換為圖片。你可以根據(jù)實(shí)際需求查閱官方文檔。

到此這篇關(guān)于C#使用Spire.XLS實(shí)現(xiàn)將Excel轉(zhuǎn)換成高質(zhì)量JPG的文章就介紹到這了,更多相關(guān)C# Excel轉(zhuǎn)JPG內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c#中的擴(kuò)展方法學(xué)習(xí)筆記

    c#中的擴(kuò)展方法學(xué)習(xí)筆記

    擴(kuò)展方法能夠向現(xiàn)有類型“添加”方法,而無需創(chuàng)建新的派生類型,重新編譯或以其他方式修改原始類型。下面這篇文章主要給大家介紹了關(guān)于c#中擴(kuò)展方法學(xué)習(xí)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-11-11
  • C#使用Spire.Doc解決Word轉(zhuǎn)PDF亂碼/錯(cuò)位的方案

    C#使用Spire.Doc解決Word轉(zhuǎn)PDF亂碼/錯(cuò)位的方案

    在日常開發(fā)中,Word轉(zhuǎn)PDF的功能需求十分常見,但實(shí)現(xiàn)過程中往往會(huì)遇到一些棘手的挑戰(zhàn),無論是系統(tǒng)自動(dòng)生成的報(bào)告,還是用戶上傳的文檔,轉(zhuǎn)換后出現(xiàn)亂碼、排版錯(cuò)位等問題,所以本文給大家介紹了如何使用Spire.Doc完美解決Word轉(zhuǎn)PDF亂碼/錯(cuò)位問題,需要的朋友可以參考下
    2025-09-09
  • C#實(shí)現(xiàn)自定義ListBox背景的示例詳解

    C#實(shí)現(xiàn)自定義ListBox背景的示例詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)自定義ListBox背景,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • C# 正則表達(dá)式進(jìn)階

    C# 正則表達(dá)式進(jìn)階

    這篇文章主要介紹了C# 正則表達(dá)式進(jìn)階,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • C#編寫網(wǎng)游客戶端的實(shí)現(xiàn)

    C#編寫網(wǎng)游客戶端的實(shí)現(xiàn)

    本文主要介紹了C#編寫網(wǎng)游客戶端,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C#使用Socket發(fā)送和接收TCP數(shù)據(jù)實(shí)例

    C#使用Socket發(fā)送和接收TCP數(shù)據(jù)實(shí)例

    這篇文章主要介紹了C#使用Socket發(fā)送和接收TCP數(shù)據(jù)的實(shí)現(xiàn)方法,以實(shí)例的形式詳細(xì)講述了C#實(shí)現(xiàn)socket通信的完整實(shí)現(xiàn)過程,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • c#預(yù)處理指令分析

    c#預(yù)處理指令分析

    這篇文章主要介紹了c#預(yù)處理指令的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c#,感興趣的朋友可以了解下
    2020-08-08
  • Unity3D Shader實(shí)現(xiàn)貼圖切換效果

    Unity3D Shader實(shí)現(xiàn)貼圖切換效果

    這篇文章主要為大家詳細(xì)介紹了Unity3D Shader實(shí)現(xiàn)貼圖切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • C#變量命名規(guī)則小結(jié)

    C#變量命名規(guī)則小結(jié)

    本文主要介紹了C#變量命名規(guī)則小結(jié),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 詳解DataGridView控件的數(shù)據(jù)綁定

    詳解DataGridView控件的數(shù)據(jù)綁定

    本文詳細(xì)講解了DataGridView控件的數(shù)據(jù)綁定,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02

最新評(píng)論

泗洪县| 隆回县| 黄石市| 隆尧县| 赣榆县| 洛浦县| 江门市| 依安县| 洪雅县| 江都市| 营口市| 河源市| 根河市| 江阴市| 钦州市| 安化县| 昭通市| 日喀则市| 诏安县| 乌拉特后旗| 光泽县| 通江县| 都匀市| 新野县| 甘谷县| 竹北市| 乡城县| 通河县| 澜沧| 平武县| 海安县| 南投市| 汤原县| 砚山县| 和龙市| 雷波县| 兰溪市| 惠东县| 特克斯县| 营山县| 个旧市|