Google Sheets இணைப்புச் சிக்கல்களைப் புரிந்துகொள்வது
கூகுள் தாள்களுடன் பணிபுரியும் போது, தாள் தரவை எக்செல் இணைப்புகளாக மின்னஞ்சல் வழியாக அனுப்புவது பொதுவான பணியாகும். Google Apps ஸ்கிரிப்டைப் பயன்படுத்தி இந்த செயல்முறையை நெறிப்படுத்தலாம், ஒரே மின்னஞ்சலில் பல தாள்களை அனுப்ப பயனர்களை அனுமதிக்கிறது. இருப்பினும், #REF பிழை போன்ற சிக்கல்கள் ஏற்படலாம், இது பொதுவாக ஏற்றுமதி செய்யப்படும் தரவுகளில் உள்ள குறிப்பு சிக்கலைக் குறிக்கிறது.
Google தாள்கள் QUERY() போன்ற சிக்கலான சூத்திரங்களைப் பயன்படுத்தும் போது இந்தச் சிக்கல் அடிக்கடி வெளிப்படும். பிழையானது இணைப்பில் உள்ள தரவு ஒருமைப்பாட்டை சீர்குலைத்து, அறிக்கையிடல் அல்லது பகுப்பாய்விற்காக இந்த ஏற்றுமதிகளை நம்பியிருக்கும் பயனர்களுக்கு குறிப்பிடத்தக்க சவாலை அளிக்கிறது.
கட்டளை | விளக்கம் |
---|---|
SpreadsheetApp.getActiveSpreadsheet() | ஸ்கிரிப்ட் இணைக்கப்பட்டுள்ள செயலில் உள்ள விரிதாளைப் பெறுகிறது. |
spreadSheet.getSheetByName(sheet).getSheetId() | விரிதாளில் உள்ள தாளுக்கான தனிப்பட்ட அடையாளங்காட்டியை வழங்குகிறது. |
UrlFetchApp.fetch(url, params) | HTTP கோரிக்கையை நிர்வகிப்பதற்கு பல்வேறு அளவுருக்களைப் பயன்படுத்தி ஒரு குறிப்பிட்ட URL க்கு கோரிக்கை வைக்கிறது. |
Utilities.sleep(milliseconds) | API விகித வரம்புகளைத் தாக்குவதைத் தடுக்க, குறிப்பிட்ட எண்ணிக்கையிலான மில்லி விநாடிகளுக்கு ஸ்கிரிப்ட்டின் செயல்பாட்டை இடைநிறுத்துகிறது. |
ScriptApp.getOAuthToken() | கோரிக்கைகளை அங்கீகரிக்க தற்போதைய பயனருக்கு OAuth 2.0 டோக்கனை மீட்டெடுக்கிறது. |
getBlob() | ஒரு URL இலிருந்து பெறப்பட்ட கோப்பின் தரவை ஒரு குமிழியாகப் பெறுகிறது, இது மின்னஞ்சல்களில் கோப்புகளை இணைக்கப் பயன்படுகிறது. |
ஸ்கிரிப்ட் செயல்பாடு விளக்கம்
வழங்கப்பட்ட ஸ்கிரிப்ட், ஒரே மின்னஞ்சலில் பல Google தாள்களை எக்செல் இணைப்புகளாக அனுப்பும் செயல்முறையை தானியங்குபடுத்தும் வகையில் வடிவமைக்கப்பட்டுள்ளது. இது ஏற்றுமதிக்கான தாள் பெயர்களின் வரிசையை அறிவிப்பதன் மூலம் தொடங்குகிறது. ஸ்கிரிப்ட் செயலில் உள்ள விரிதாளை மீட்டெடுக்கிறது மற்றும் ஒவ்வொரு தாளுக்கும் பதிவிறக்க URLகளை உருவாக்க, தாள் பெயர்களின் வரிசையின் மூலம் மீண்டும் செயல்படுகிறது. இந்த URLகள் குறிப்பாக தாள்களை Excel கோப்புகளாக ஏற்றுமதி செய்ய வடிவமைக்கப்பட்டுள்ளன. Utilities.sleep(10000);' பெறுதல் கோரிக்கைகளுக்கு இடையே தாமதத்தை அறிமுகப்படுத்த, Google இன் சேவையகங்களில் சுமைகளை நிர்வகிக்க உதவுகிறது மற்றும் ஸ்கிரிப்ட் விகித வரம்புகளைத் தாக்குவதைத் தடுக்கிறது.
ஒவ்வொரு URL ஆனது அந்தந்த தாளை ஒரு குமிழியாகப் பெறுகிறது, அது முன் வரையறுக்கப்பட்ட கோப்பு பெயர்கள் வரிசையின் படி பெயரிடப்படும். இந்தத் தாள்களில் உள்ள தரவை மின்னஞ்சல் இணைப்புகளுக்கு ஏற்ற வடிவமைப்பாக மாற்றுவதால் இந்தப் படி முக்கியமானது. அனைத்து கோப்பு குமிழ்களையும் தயாரித்த பிறகு, ஸ்கிரிப்ட் நியமிக்கப்பட்ட பெறுநர்கள், பொருள் வரி மற்றும் உடல் செய்தியுடன் ஒரு மின்னஞ்சல் பொருளை உருவாக்குகிறது. இந்த மின்னஞ்சலுடன் குமிழ்கள் இணைக்கப்பட்டுள்ளன, பின்னர் அது 'MailApp.sendEmail(message) ஐப் பயன்படுத்தி அனுப்பப்படும். கட்டளை. இந்தச் செயல்பாடு Google Apps Script இன் MailApp சேவையின் ஒரு பகுதியாகும், மின்னஞ்சல்கள், அழைப்புகள் மற்றும் அறிவிப்புகளை அனுப்ப ஸ்கிரிப்ட்களை அனுமதிக்கிறது.
ஏற்றுமதியில் Google Sheets #REF பிழைகளைத் தீர்க்கிறது
Google Apps ஸ்கிரிப்ட் தீர்வு
function sendExcelAttachmentsInOneEmail() {
var sheets = ['OH INV - B2B', 'OH INV - Acc', 'OH INV - B2C', 'B2B', 'ACC', 'B2C'];
var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
var spreadSheetId = spreadSheet.getId();
var urls = sheets.map(sheet => {
var sheetId = spreadSheet.getSheetByName(sheet).getSheetId();
return \`https://docs.google.com/spreadsheets/d/${spreadSheetId}/export?format=xlsx&gid=${sheetId}\`;
});
var reportName = spreadSheet.getSheetByName('IMEIS').getRange(1, 14).getValue();
var params = {
method: 'GET',
headers: {'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()},
muteHttpExceptions: true
};
var fileNames = ['OH INV - B2B.xlsx', 'OH INV - Acc.xlsx', 'OH INV - B2C.xlsx', 'B2B.xlsx', 'ACC.xlsx', 'B2C.xlsx'];
var blobs = urls.map((url, index) => {
Utilities.sleep(10000); // Delay added to avoid hitting rate limits
var response = UrlFetchApp.fetch(url, params);
return response.getBlob().setName(fileNames[index]);
});
var message = {
to: 'email@domain.com',
cc: 'email@domain.com',
subject: 'Combined REPORTS - ' + reportName,
body: "Hi Team,\n\nPlease find attached Reports.\n\nBest Regards!",
attachments: blobs
}
MailApp.sendEmail(message);
}
Google Sheets ஏற்றுமதி சிக்கல்கள் பற்றிய மேம்பட்ட நுண்ணறிவு
ஸ்கிரிப்ட்களைப் பயன்படுத்தி Google Sheets இலிருந்து Excel வடிவங்களுக்கு தரவை ஏற்றுமதி செய்வது, குறிப்பாக QUERY() போன்ற மேம்பட்ட செயல்பாடுகளைப் பயன்படுத்தும் போது, தரவு நிர்வாகத்தில் உள்ள சிக்கல்களை வெளிப்படுத்தலாம். இத்தகைய ஏற்றுமதிகளில் ஏற்படும் #REF பிழையானது, எக்செல் சூழலில் உள்ள தீர்க்கப்படாத குறிப்புகளைக் குறிக்கிறது, அவை Google தாள்களிலேயே ஏற்படாது. சில QUERY() செயல்பாடுகள் அல்லது தனிப்பயன் ஸ்கிரிப்டுகள் போன்ற Google Sheets இல் உள்ள சில செயல்பாடுகள், Excel இல் ஆதரிக்கப்படுவதில்லை அல்லது வித்தியாசமாக நடந்துகொள்வதால் இந்த வேறுபாடு அடிக்கடி எழுகிறது.
Google Sheets சூத்திரங்கள் மற்றும் Excel இன் சூத்திரங்கள் மற்றும் தரவு வினவல்களைக் கையாளுதல் ஆகியவற்றுக்கு இடையே இணக்கத்தன்மையை உறுதிசெய்வதன் முக்கியத்துவத்தை இந்தச் சிக்கல் அடிக்கோடிட்டுக் காட்டுகிறது. கூகுளின் சூழலில் இருந்து மைக்ரோசாஃப்ட் சூழலுக்கு நகரும் போது, குறிப்பாக விரிதாள் தரவின் மின்னஞ்சல் இணைப்புகள் போன்ற செயல்முறைகளை தானியங்குபடுத்தும் போது, டெவலப்பர்கள் கூடுதல் சோதனைகள் அல்லது மாற்று முறைகளை அடிக்கடி செயல்படுத்த வேண்டும்.
- Google Sheets இலிருந்து Excel க்கு ஏற்றுமதி செய்யும் போது #REF பிழை ஏன் தோன்றுகிறது?
- Google Sheets இல் உள்ள சில குறிப்புகள் அல்லது சூத்திரங்கள் அங்கீகரிக்கப்படாததால் அல்லது Excel இன் சூத்திர சூழலுடன் பொருந்தாததால் #REF பிழை பொதுவாக ஏற்படுகிறது.
- கூகுள் ஆப்ஸ் ஸ்கிரிப்ட்கள் மூலம் விகித வரம்புகளை அடைவதை எவ்வாறு தடுப்பது?
- Utilities.sleep(milliseconds) ஐப் பயன்படுத்தி ஸ்கிரிப்ட்டில் இடைநிறுத்தங்களைச் செயல்படுத்துவது கோரிக்கைகளின் அதிர்வெண்ணை நிர்வகிக்கவும் Google இன் கட்டண வரம்புகளை மீறுவதைத் தவிர்க்கவும் உதவும்.
- URL பெறுதல் அழைப்பில் muteHttpExceptions என்ன செய்கிறது?
- இது HTTP கோரிக்கை தோல்வியுற்றால், விதிவிலக்கு இல்லாமல் தொடர்ந்து செயல்படுத்த ஸ்கிரிப்டை அனுமதிக்கிறது, இது பிழைகளை நேர்த்தியாக நிர்வகிப்பதற்கு பயனுள்ளதாக இருக்கும்.
- Excel க்கு ஏற்றுமதி செய்யும் போது ஒவ்வொரு தாளின் கோப்பு பெயரையும் தனிப்பயனாக்க முடியுமா?
- ஆம், ஸ்கிரிப்டில் காட்டப்பட்டுள்ளபடி, மின்னஞ்சலுடன் இணைக்கும் முன், தாளில் இருந்து மாற்றப்பட்ட ஒவ்வொரு குமிழிக்கும் தனிப்பயன் பெயர்களை அமைக்கலாம்.
- இடைநிலை ஸ்கிரிப்டுகள் இல்லாமல் Google Sheets ஐ Excel க்கு நேரடியாக ஏற்றுமதி செய்ய வழி உள்ளதா?
- ஆம், கூகுள் ஷீட்ஸில் உள்ள கோப்பு மெனுவிலிருந்து நேரடியாக எக்செல் வடிவத்தில் Google தாளை நீங்கள் கைமுறையாகப் பதிவிறக்கலாம், ஆனால் இதை தானியக்கமாக்க ஸ்கிரிப்டிங் தேவை.
இந்த ஆய்வு மூலம், கூகுள் ஆப்ஸ் ஸ்கிரிப்ட், கூகுள் தாள்களின் செயல்பாடுகளை தானியங்குபடுத்துவதற்கும் மேம்படுத்துவதற்கும் சக்திவாய்ந்த கருவிகளை வழங்கும் அதே வேளையில், எக்செல் போன்ற பல்வேறு இயங்குதளங்களுடன் தொடர்பு கொள்ளும்போது சில சிக்கல்கள் எழுகின்றன என்பது தெளிவாகிறது. #REF பிழைகள் ஒரு பொதுவான ஆபத்தில் உள்ளன, குறிப்பாக சிக்கலான வினவல்கள் மற்றும் Google இன் சுற்றுச்சூழல் அமைப்புக்கு வெளியே சரியாக மொழிபெயர்க்காத தரவு குறிப்புகளைக் கையாளும் போது. இந்த வரம்புகளைப் புரிந்துகொள்வது மற்றும் ஸ்கிரிப்ட்களில் அவற்றைத் திட்டமிடுவது போன்ற சிக்கல்களின் நிகழ்வைக் கணிசமாகக் குறைக்கலாம், இது மென்மையான தரவு மேலாண்மை செயல்முறைகளுக்கு வழிவகுக்கும்.