মাইক্রোসফ্ট এক্সেল ইউটিএফ -8 এনকোডিং আমদানি ছাড়াই


0

আপনি আমাকে আরও অনুসন্ধান করতে এবং অন্য লোকেদের প্রশ্নের দিকে নজর দেওয়ার আগে এবং আমার উত্তরগুলি আমার সঠিক প্রশ্নটি পড়ার আগে।

এখানে আরো অন্যান্য বিষয়গুলি কীভাবে টেক্সট আমদানি আমদানি উইজার্ডের মধ্যে ডিটিটি বিকল্পটি UTF-8 তৈরি করতে পারে তার সাথে মোকাবিলা করে। যাইহোক, আমি পাঠ্য আমদানি উইজার্ড ব্যবহার করতে এড়াতে চাই।

আমার CSV ফাইল আছে যা আমি ডাবল ক্লিক করে খুলতে চাই। এক্সেল তাদের স্বয়ংক্রিয়ভাবে খোলে, তবে 65001 (UTF-8) ব্যবহার করে ডিফল্ট এনকোডিং হিসাবে regedit কৌশলটি চালানো হলেও, ফাইলগুলি এখনও সঠিকভাবে প্রদর্শিত হয় না।

এই এনকোডিং জোর কিছু উপায় আছে উদ্বোধন পরিবর্তে একটি ফাইল এর আমদানি এটা?

আগাম ধন্যবাদ

(মার্কিন ইংরেজিতে এক্সেল ব্যবহার করে ২016 এবং আমার উইন্ডোজ 7 আঞ্চলিক কনফিগারেশন স্প্যানিশ (মার্কিন যুক্তরাষ্ট্র) তে সেট করা আছে, এটি গুরুত্বপূর্ণ কিনা তা আমি জানি না, তবে এটি বিভাজক হিসাবে ডিফল্ট কমাগুলির সাথে ডিল করার জন্য ছিল)

স্পষ্টকরণের জন্য সম্পাদন করুন: আমদানি করার জন্য utf-8 বাধ্যতামূলক করার জন্য regedit কৌশলটি করার পরে একটি CSV ফাইল খোলার সময় উচ্চারণ এবং অন্যান্য ভাষার অক্ষর এখনও অদ্ভুত কোড হিসাবে উপস্থিত হয়। আমি যদিও আমদানি করছি না (কৌশলটি সেখানে প্রত্যাশিত হিসাবে কাজ করে); আমি সরাসরি ফাইল খুলছি।

উত্তর:


0

আপনি CSV ফাইলগুলি খুলতে এবং স্বয়ংক্রিয়ভাবে এক্সেল এ পাস করার জন্য একটি পাওয়ারশেল স্ক্রিপ্ট ব্যবহার করতে পারেন। স্ক্রিপ্টটি নিখুঁতভাবে এক্সেলের পাঠ্য আমদানি পদ্ধতি ব্যবহার করে যা UTF-8 এনকোডিং পরিচালনা করে এবং বোনাস আচরণের মান হিসাবে সবসময় পাঠ্য হিসাবে

আপনার মধ্যে এই স্ক্রিপ্ট একটি শর্টকাট রাখুন পাঠানো ফোল্ডার যাতে আপনি মাধ্যমে সব সিএসভি ফাইল খুলতে পারেন Right click » SendTo » myScript (সহজ পদ্ধতি)

(বা)

তুমি ব্যবহার করতে পার PS2EXE আপনার স্ক্রিপ্ট একটি এক্সিকিউটেবল (। exe) রূপান্তর করতে। এখন আপনি একটি .csv ফাইল ডান ক্লিক করতে পারেন এবং ' সঙ্গে খোলা 'আপনি সিএসভি ফাইলগুলি খুলতে আপনার ডিফল্ট প্রোগ্রাম হিসাবে এই .exe নির্বাচন করুন (উন্নত পদ্ধতি)

এর মানে কি

  • UTF-8 অক্ষর সঠিকভাবে প্রদর্শিত হয়
  • একাধিক সিএসভি ফাইল খুলতে পারেন। একই কাজপুস্তিকায় নতুন সিএসভি সামগ্রী হিসাবে নতুন ওয়ার্কশীট হিসাবে সঞ্চয় করে
  • সমস্ত মান বিশুদ্ধ টেক্সট হিসাবে গণ্য করা হয়। এক্সেল এর buildin CSV হ্যান্ডলার থেকে কোন ব্যাখ্যা

    • অর্থাত। 0001 থাকার বিষয়টি মতেই 0001 এবং রূপান্তর করা হয় না 1
    • অর্থাত। -A122:23 অথবা =AZ1+32 সূত্র হিসাবে ব্যাখ্যা করা হয় এবং তারা হিসাবে থাকার হয় না

ব্যবহারবিধি

  • একটি নতুন টেক্সট ফাইল তৈরি করুন এবং নীচের স্ক্রিপ্ট পেস্ট করুন। একটি মন্তব্য সংস্করণ পাওয়া যাবে এখানে
$CSVs = @()
$args.ForEach({
    If ((Test-Path $_) -and ($_ -Match ".csv$|.txt$")) {
        $CSVs += ,$_
    } 
})

if (-Not $null -eq $CSVs) {

    $excel = New-Object -ComObject excel.application 
    $excel.visible = $true
    $excel.SheetsInNewWorkbook = $CSVs.Count    
    $workbook = $excel.Workbooks.Add()

    for ($i=0; $i -lt $CSVs.Count; $i++){

        $csv = Get-Item $CSVs[$i]
        $worksheet = $workbook.worksheets.Item($i + 1)
        $worksheet.Name = $csv.basename

        $TxtConnector = ("TEXT;" + $csv.fullname)
        $Connector = $worksheet.QueryTables.add($TxtConnector,$worksheet.Range("A1"))
        $query = $worksheet.QueryTables.item($Connector.name)
        $query.TextFilePlatform = 65001
        $query.TextFileTextQualifier = 1
        $query.TextFileOtherDelimiter = $Excel.Application.International(5) 
        $query.TextFileParseType  = 1
        $arrFormats = ,2 * $worksheet.Cells.Columns.Count
        $query.TextFileColumnDataTypes = $arrFormats
        $query.AdjustColumnWidth = 1
        $query.Refresh()
        $query.Delete()
    }
}

  • এটা কোথাও সংরক্ষণ করুন C:\Tools\myScript.ps1। (এক্সটেনশন নোট করুন .ps1 )
  • মাধ্যমে আপনার sendto ফোল্ডার খুলুন জয় আর » shell:sendto » প্রবেশ করান
  • রাইট ক্লিক করে নতুন শর্টকাট তৈরি করুন »নতুন» শর্টকাট এবং এই লাইনটি পেস্ট করুন। আপনি আপনার স্ক্রিপ্ট আছে যেখানে নিজের নিজের পথ পরিবর্তন করতে ভুলবেন না

"% SystemRoot% \ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe" -NoProfile -NonInteractive -WindowStyle লুকানো -ফাইল "C: \ আমার \ ফোল্ডারের \ myScript.ps1"

তুলনা

  • নতুন উপায়: স্ক্রিপ্টের মাধ্যমে খোলা হয়েছে (পাঠানো প্রেরণ বা PS2EXE মাধ্যমে এক্সিকিউটেবল রূপান্তরিত)

enter image description here

  • পুরানো উপায়: ডবল ক্লিক মাধ্যমে খোলা

enter image description here


মন্তব্য

  • PS2EXE উইন্ডোজ 10 তে চালিত হয় না কারণ নেটের সংস্করণ 4.5 বা তার বেশি সংস্করণ PS2EXE থেকে সমর্থিত নয়। প্রোগ্রামটি উইন্ডোজ 7 এ .NET 4.0 এর সাথে কাজ করে

  • আমার প্রথম পরীক্ষায় এক্সেলটি চীনা UTF-8 অক্ষরগুলি প্রদর্শনের চেষ্টা করার সময় অলস দেখায়। তবে আমার পরীক্ষার সময় এই আচরণটি স্যুইচ করেছিল এবং এখন উভয় পদ্ধতি সঠিকভাবে UTF-8 পরিচালনা করে। আমি এই কারণ কি কোন ধারণা আছে


ধন্যবাদ @ নিক্সদা এটি একটি আশ্চর্যজনক মত দেখাচ্ছে। আমি যদিও এটা কাজ করতে পারেন না। আমি sendto স্ক্রিপ্ট চেষ্টা, এবং আমি নির্দেশাবলী অনুসরণ যদিও, কিছুই ঘটবে না। আমি ডান ক্লিক করার পরে - & gt; sendto - & gt; স্ক্রিপ্ট, কিছুই ঘটবে না। একটি cmd উইন্ডো প্রদর্শিত কি খুব সংক্ষিপ্তভাবে প্রদর্শিত হয় এবং অদৃশ্য, কিন্তু এক্সেল চালানো হয় না। আমি PS2EXE পদ্ধতিটিও চেষ্টা করেছি, কিন্তু যখন আমি স্ক্রিপ্টটি চালাতে পারি তখন "পশুর সংস্করণটি অজানা" বার্তাটি পাঠায়, যা ps2exe.ps1 ফাইল (নোটপ্যাডে খোলা) এর সাথে সম্পর্কিত if( $psversion -eq 0 ) { write-host "THE POWERSHELL VERSION IS UNKNOWN!" exit -1 }
Nicolás Fernández Fioretti

@ NicolásFernándezFioretti উইন্ডোজকে স্কোয়ার চালানোর অনুমতি দেওয়া হয়নি? ডিফল্ট হয় restricted। সঙ্গে PowerShell এটি চেক করুন Get-ExecutionPolicy। এবং প্রয়োজন হলে পিএসএস প্রশাসক হিসাবে শুরু করুন এবং এটি সেট set-executionpolicy remotesigned অথবা Set-ExecutionPolicy unrestricted
nixda

আমি একটি কর্পোরেট কম্পিউটার ব্যবহার করছি, তাই আমি বিশেষ নিষেধাজ্ঞা থাকতে পারে যা আমি সচেতন নই। আমি প্রশাসক হিসাবে ক্ষমতাশালী চালাতে পারেন, এবং get-executionpolicy আয় unrestricted, কিন্তু set-executionpolicy আমি রেজিস্ট্রি modifiyng অ্যাক্সেস আছে না বলে। আমি সন্দেহ করছি যে আমি ডানপন্থী ক্ষমতাশালী এবং 'প্রশাসক হিসাবে চালনা' নির্বাচন করছি, এমনকি আমি এটি চালাচ্ছি, কারণ পাওয়ারশেল উইন্ডোটির শিরোনাম দণ্ডে কোন প্রশাসক ইঙ্গিত নেই।
Nicolás Fernández Fioretti

@ নিকোলাস ফার্নান্দেজফিওরেটি সমস্যা কোথায় তা দেখতে, দয়া করে নিচেরটি চেষ্টা করুন: ওপেন পাওয়ারশেল ISE (এটি সম্পাদকের মধ্যে তৈরি) এবং উপরের স্ক্রিপ্টটিকে এতে আটকান। এখন এই প্রথম লাইন হিসাবে যোগ করুন $args = "C:\my\test.csv"। আপনার ড্রাইভে একটি বিদ্যমান পরীক্ষা সিএসভি পথ পরিবর্তন করুন। এটি কি এক্সেল খুলবে এবং সিএসভি আমদানি করবে?
nixda

এটা কাজ করে! ক্ষমতাশালী স্ক্রিপ্ট পেস্ট এবং ফাইলের পথ ব্যবহার করে এটি utf8 এর সঠিক চিকিত্সা দিয়ে খোলা হয়েছে। আমি আবার চেষ্টা "পদ্ধতি" পদ্ধতি চেষ্টা, এবং এটি ভাল কাজ করে। আমি PS2EXE সঙ্গে একটি .exe crating সমস্যা আছে বলে মনে হচ্ছে। আমি কি অন্য কোথাও সাহায্য চাইতে পারি?
Nicolás Fernández Fioretti
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.